From: Nick Mathewson Date: Thu, 5 May 2011 03:32:18 +0000 (-0400) Subject: Use read_all() to read messages from spawn_background X-Git-Tag: tor-0.2.3.1-alpha~3 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=d8cb4f9f0ce075daf4469db18218901f3a720282;p=thirdparty%2Ftor.git Use read_all() to read messages from spawn_background Using read() is an invitation to get some of the data you want, not all. Possible fix for bug 2462 --- diff --git a/src/test/test_util.c b/src/test/test_util.c index 25fd51c124..efbc47b460 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -1367,7 +1367,7 @@ run_util_spawn_background(const char *argv[], const char *expected_out, pid = retval; /* Check stdout */ - pos = read(stdout_pipe, stdout_buf, sizeof(stdout_buf) - 1); + pos = read_all(stdout_pipe, stdout_buf, sizeof(stdout_buf) - 1, 0); stdout_buf[pos] = '\0'; tt_int_op(pos, ==, strlen(expected_out)); tt_str_op(stdout_buf, ==, expected_out); @@ -1381,7 +1381,7 @@ run_util_spawn_background(const char *argv[], const char *expected_out, tt_assert(!WIFSTOPPED(stat_loc)); /* Check stderr */ - pos = read(stderr_pipe, stderr_buf, sizeof(stderr_buf) - 1); + pos = read_all(stderr_pipe, stderr_buf, sizeof(stderr_buf) - 1, 0); stderr_buf[pos] = '\0'; tt_int_op(pos, ==, strlen(expected_err)); tt_str_op(stderr_buf, ==, expected_err);