[PATCH v2] strace: Fix "over-optimization" flaw in strace.

Daniel Santos daniel.santos@pobox.com
Wed Apr 19 16:01:00 GMT 2017


Recent versions of gcc are optimizing away the TLS buffer allocated in
main, so we need to tell gcc that it's really used.  RtlSecureZeroMemory
accomplishes this while also inlining the memset.

Signed-off-by: Daniel Santos <daniel.santos@pobox.com>
---
 winsup/utils/strace.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/winsup/utils/strace.cc b/winsup/utils/strace.cc
index beab67b90..ae62cdc5f 100644
--- a/winsup/utils/strace.cc
+++ b/winsup/utils/strace.cc
@@ -1191,7 +1191,7 @@ main (int argc, char **argv)
      registry setting to 0x100000 (TOP_DOWN). */
   char buf[CYGTLS_PADSIZE];
 
-  memset (buf, 0, sizeof (buf));
+  RtlSecureZeroMemory (buf, sizeof (buf));
   exit (main2 (argc, argv));
 }
 
-- 
2.11.0



More information about the Cygwin-patches mailing list