From d53f35a5e6644b94fb25bf6afd365f4b0f5a18e0 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Fri, 7 Jun 2024 13:35:31 +0900 Subject: spawn: Support the use case in libassuan where PGMNAME==NULL. * src/spawn-posix.c (my_exec): When PGMNAME==NULL, just fork. (_gpgrt_process_spawn): Support PGMNAME==NULL use case. * src/spawn-w32.c (_gpgrt_process_spawn): Return GPG_ERR_INV_ARG, when PGMNAME==NULL. -- Signed-off-by: NIIBE Yutaka --- src/spawn-w32.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/spawn-w32.c') diff --git a/src/spawn-w32.c b/src/spawn-w32.c index 8bc996a..0e6b77d 100644 --- a/src/spawn-w32.c +++ b/src/spawn-w32.c @@ -586,7 +586,7 @@ _gpgrt_process_spawn (const char *pgmname, const char *argv[], } /* In detached case, it must be no R_PROCESS. */ - if (r_process) + if (r_process || pgmname == NULL) { xfree (cmdline); return GPG_ERR_INV_ARG; @@ -598,6 +598,12 @@ _gpgrt_process_spawn (const char *pgmname, const char *argv[], if (r_process) *r_process = NULL; + if (pgmname == NULL) + { + xfree (cmdline); + return GPG_ERR_INV_ARG; + } + process = xtrymalloc (sizeof (struct gpgrt_process)); if (process == NULL) { -- cgit v1.2.3