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.
This commit is contained in:
Nick Mathewson 2012-06-23 15:35:43 -04:00
parent b1ad1a1d02
commit ffd7189b3f

View File

@ -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 */