[tor-commits] [tor/master] Fix spurious compiler warning in do_getpass().

nickm at torproject.org nickm at torproject.org
Tue Oct 11 13:39:37 UTC 2016


commit 7026b607a0b873ddbee16d5bd8ac2975c7092f5b
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue Oct 11 09:34:08 2016 -0400

    Fix spurious compiler warning in do_getpass().
    
    Some compilers apparently noticed that p2len was allowed to be equal
    to msg, and so maybe we would be doing memset(prompt2, ' ', 0), and
    decided that we probably meant to do memset(prompt2, 0, 0x20);
    instead.
    
    Stupid compilers, doing optimization before this kind of warning!
    
    My fix is to just fill the entire prompt2 buffer with spaces,
    because it's harmless.
    
    Bugfix on e59f0d4cb964387c5, not in any released Tor.
---
 src/or/routerkeys.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/or/routerkeys.c b/src/or/routerkeys.c
index d5e7051..ca32228 100644
--- a/src/or/routerkeys.c
+++ b/src/or/routerkeys.c
@@ -49,7 +49,7 @@ do_getpass(const char *prompt, char *buf, size_t buflen,
     if (p2len < sizeof(msg))
       p2len = sizeof(msg);
     prompt2 = tor_malloc(p2len);
-    memset(prompt2, ' ', p2len - sizeof(msg));
+    memset(prompt2, ' ', p2len);
     memcpy(prompt2 + p2len - sizeof(msg), msg, sizeof(msg));
 
     buf2 = tor_malloc_zero(buflen);



More information about the tor-commits mailing list