From ffd7189b3fc015ce47e6ab27ac85d4eab2183a2b Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Sat, 23 Jun 2012 15:35:43 -0400 Subject: 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 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/common/util.c b/src/common/util.c index 8cb013e18..e5b51b9a9 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 */ -- cgit v1.2.3