From: Richard W.M. Jones Date: Sat, 20 Jun 2009 15:05:12 +0000 (+0100) Subject: Check return value from waitpid call in command*() functions. X-Git-Tag: 1.0.50~6 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=6654f617a6f720baa8f1ced89179e11679353d1e;p=libguestfs.git Check return value from waitpid call in command*() functions. --- 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);