[tor-commits] [tor/master] Don't assert in get_string_from_pipe() on len==0

nickm at torproject.org nickm at torproject.org
Mon Jun 25 16:03:26 UTC 2012


commit ffd7189b3fc015ce47e6ab27ac85d4eab2183a2b
Author: Nick Mathewson <nickm at torproject.org>
Date:   Sat Jun 23 15:35:43 2012 -0400

    Don't assert in get_string_from_pipe() on len==0
    
    We can treat this case as an EAGAIN (probably because of an
    unexpected internal NUL) rather than a crash-worthy problem.
    
    Fixes bug 6225, again.  Bug not in any released version of Tor.
---
 src/common/util.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/common/util.c b/src/common/util.c
index 8cb013e..e5b51b9 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -4386,7 +4386,10 @@ get_string_from_pipe(FILE *stream, char *buf_out, size_t count)
     }
   } else {
     len = strlen(buf_out);
-    tor_assert(len>0);
+    if (len == 0) {
+      /* this probably means we got a NUL at the start of the string. */
+      return IO_STREAM_EAGAIN;
+    }
 
     if (buf_out[len - 1] == '\n') {
       /* Remove the trailing newline */





More information about the tor-commits mailing list