From c2ba6bea4ce81a066765c285c4b7c1dc6d39f144 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Thu, 8 Apr 2021 11:26:58 +0900 Subject: [PATCH] common: Fix gnupg_wait_processes, by skipping invalid PID. * common/exechelp-posix.c (gnupg_wait_processes): Skip invalid PID. -- Signed-off-by: NIIBE Yutaka (cherry picked from commit d82dae5d2229a30dbc78aadc4d544d30dac76a1c) --- common/exechelp-posix.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/common/exechelp-posix.c b/common/exechelp-posix.c index 07821529a..347a11be2 100644 --- a/common/exechelp-posix.c +++ b/common/exechelp-posix.c @@ -722,8 +722,13 @@ gnupg_wait_processes (const char **pgmnames, pid_t *pids, size_t count, { int status = -1; + /* Skip invalid PID. */ if (pids[i] == (pid_t)(-1)) - return my_error (GPG_ERR_INV_VALUE); + { + r_exitcodes[i] = -1; + left -= 1; + continue; + } /* See if there was a previously stored result for this pid. */ if (get_result (pids[i], &status))