[newlib-cygwin] strace: Fix "over-optimization" flaw in strace.

Corinna Vinschen corinna@sourceware.org
Wed Apr 19 18:47:00 GMT 2017


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=b43e28aef0764be86bed5f48c734361957f2cbb1

commit b43e28aef0764be86bed5f48c734361957f2cbb1
Author: Daniel Santos <daniel.santos@pobox.com>
Date:   Wed Apr 19 11:06:02 2017 -0500

    strace: Fix "over-optimization" flaw in strace.
    
    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>

Diff:
---
 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 beab67b..ae62cdc 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));
 }



More information about the Cygwin-cvs mailing list