common: Fix gnupg_wait_processes.
authorNIIBE Yutaka <gniibe@fsij.org>
Tue, 19 Sep 2017 03:28:43 +0000 (12:28 +0900)
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Thu, 30 Aug 2018 15:57:15 +0000 (16:57 +0100)
commit30a27b7855f366decd213286160870b0db5aa0e5
treee1efcb60a7544a772fd15370710b7a1c5c47cf79
parent4b97b1d43b6c820d78f324cc8b35fdf00064623a
common: Fix gnupg_wait_processes.

* common/exechelp-posix.c (gnupg_wait_processes): Loop for r_exitcodes
even if we already see an error.

--

The value stored by waitpid for exit code is encoded;  It requires
decoded by WEXITSTATUS macro, regardless of an error.

For example, when one of processes is already exited and another is
still running, it resulted wrong value of in r_exitcodes[n].

Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
(cherry picked from commit eeb3da6eb717ed6a1a1069a7611eb37503e8672d)

Gbp-Pq: Topic from-master
Gbp-Pq: Name common-Fix-gnupg_wait_processes.patch
common/exechelp-posix.c