Przeglądaj źródła

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
Nick Mathewson 13 lat temu
rodzic
commit
d8cb4f9f0c
1 zmienionych plików z 2 dodań i 2 usunięć
  1. 2 2
      src/test/test_util.c

+ 2 - 2
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);