Make ga_wait_child() return boolean and check the returned boolean in ga_run_command() instead of dereferencing @errp.
Cc: Michael Roth <michael.r...@amd.com> Cc: Konstantin Kostiuk <kkost...@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Signed-off-by: Zhao Liu <zhao1....@intel.com> --- v2: * Added Phil's r/b. * Used Phil's polished words. --- qga/commands-posix.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/qga/commands-posix.c b/qga/commands-posix.c index 7f05996495a2..64bb0be94479 100644 --- a/qga/commands-posix.c +++ b/qga/commands-posix.c @@ -59,7 +59,7 @@ #endif #endif -static void ga_wait_child(pid_t pid, int *status, Error **errp) +static bool ga_wait_child(pid_t pid, int *status, Error **errp) { pid_t rpid; @@ -70,10 +70,11 @@ static void ga_wait_child(pid_t pid, int *status, Error **errp) if (rpid == -1) { error_setg_errno(errp, errno, "failed to wait for child (pid: %d)", pid); - return; + return false; } g_assert(rpid == pid); + return true; } static ssize_t ga_pipe_read_str(int fd[2], char **str) @@ -178,8 +179,7 @@ static int ga_run_command(const char *argv[], const char *in_str, goto out; } - ga_wait_child(pid, &status, errp); - if (*errp) { + if (!ga_wait_child(pid, &status, errp)) { goto out; } -- 2.34.1