X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/3634fc257bd0667daef14d72005cd87c735bbb24..1ac6b2e7857d7b6645dbd09047c4c2ac3b6cef1d:/src/src/queue.c diff --git a/src/src/queue.c b/src/src/queue.c index b3dbd2c4e..ff0ae67e5 100644 --- a/src/src/queue.c +++ b/src/src/queue.c @@ -650,7 +650,8 @@ for (i = (queue_run_in_order? -1 : 0); the mere fact that read() unblocks is enough. */ set_process_info("running queue: waiting for children of %d", pid); - (void)read(pfd[pipe_read], buffer, sizeof(buffer)); + if (read(pfd[pipe_read], buffer, sizeof(buffer)) >= 0) + log_write(0, LOG_MAIN|LOG_PANIC, "queue run: unexpected data on pipe"); (void)close(pfd[pipe_read]); set_process_info("running queue"); @@ -1018,7 +1019,7 @@ if (action >= MSG_SHOW_BODY) } while((rc = read(fd, big_buffer, big_buffer_size)) > 0) - (void)write(fileno(stdout), big_buffer, rc); + rc = write(fileno(stdout), big_buffer, rc); (void)close(fd); return TRUE;