This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[google gcc-4_7, integration] Scribble on destructed strings to catch invalid accesses.
- From: Paul Pluzhnikov <ppluzhnikov at google dot com>
- To: dnovillo at google dot com, gcc-patches at gcc dot gnu dot org
- Cc: ppluzhnikov at google dot com
- Date: Wed, 23 Jan 2013 22:23:21 -0800
- Subject: [google gcc-4_7, integration] Scribble on destructed strings to catch invalid accesses.
This patch allows us to catch use of destructed strings.
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()