On Wed, 23 Jan 2013, Paul Pluzhnikov wrote:

This patch allows us to catch use of destructed strings.

Hello,

while a number of the google debug patches are just cheaper versions (that don't break the ABI) of what libstdc++'s debug mode provides, this overwriting of classes on destruction is not as obviously redundant, and I wonder whether something like it (done consistently for many classes) could go to trunk...

Google ref: b/5430313

Ok for google/gcc-4_7 and google/integration?

--
Paul Pluzhnikov



Index: libstdc++-v3/include/ext/sso_string_base.h
===================================================================
--- libstdc++-v3/include/ext/sso_string_base.h  (revision 195417)
+++ libstdc++-v3/include/ext/sso_string_base.h  (working copy)
@@ -215,7 +215,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
                          const _Alloc& __a);

      ~__sso_string_base()
-      { _M_dispose(); }
+      {
+          _M_dispose();
+#ifdef __google_stl_debug_dangling_string
+          __builtin_memset(this, 0xcd, sizeof(*this));
+#endif
+      }

      _CharT_alloc_type&
      _M_get_allocator()

--
Marc Glisse

Reply via email to