From 6654f617a6f720baa8f1ced89179e11679353d1e Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 20 Jun 2009 16:05:12 +0100 Subject: [PATCH] Check return value from waitpid call in command*() functions. --- daemon/guestfsd.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c index 2e83b9f..030aabe 100644 --- a/daemon/guestfsd.c +++ b/daemon/guestfsd.c @@ -453,7 +453,8 @@ commandrv (char **stdoutput, char **stderror, char * const* const argv) { int so_size = 0, se_size = 0; int so_fd[2], se_fd[2]; - int pid, r, quit, i; + pid_t pid; + int r, quit, i; fd_set rset, rset2; char buf[256]; char *p; @@ -589,7 +590,10 @@ commandrv (char **stdoutput, char **stderror, char * const* const argv) } /* Get the exit status of the command. */ - waitpid (pid, &r, 0); + if (waitpid (pid, &r, 0) != pid) { + perror ("waitpid"); + return -1; + } if (WIFEXITED (r)) { return WEXITSTATUS (r); -- 1.8.3.1