mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
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
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user