From af4a6fff0da512defb390e9473d95edd77956dff Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Fri, 25 Nov 2022 11:57:57 +0900 Subject: Fix gnupg_process_release. Signed-off-by: NIIBE Yutaka --- common/exechelp-posix.c | 8 +++++++- common/exechelp-w32.c | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/common/exechelp-posix.c b/common/exechelp-posix.c index 0c09abbf4..7a4f9e251 100644 --- a/common/exechelp-posix.c +++ b/common/exechelp-posix.c @@ -1529,8 +1529,14 @@ gnupg_process_wait (gnupg_process_t process, int hang) void gnupg_process_release (gnupg_process_t process) { + if (!process) + return; + if (process->terminated) - gnupg_process_wait (process, 0); + { + gnupg_process_terminate (process); + gnupg_process_wait (process, 1); + } xfree (process); } diff --git a/common/exechelp-w32.c b/common/exechelp-w32.c index d505379cc..9ca2bab2d 100644 --- a/common/exechelp-w32.c +++ b/common/exechelp-w32.c @@ -1730,8 +1730,14 @@ gnupg_process_terminate (gnupg_process_t process) void gnupg_process_release (gnupg_process_t process) { + if (!process) + return; + if (process->terminated) - gnupg_process_wait (process, 0); + { + gnupg_process_terminate (process); + gnupg_process_wait (process, 1); + } xfree (process); } -- cgit v1.2.3