[glibc] hurd: Fix spawni SPAWN_XFLAGS_TRY_SHELL with empty argv
Samuel Thibault
sthibaul@sourceware.org
Sat Dec 26 15:40:44 GMT 2020
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a39b95b975929f12359d4bc55f25bd88c3ec02c5
commit a39b95b975929f12359d4bc55f25bd88c3ec02c5
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Sat Dec 26 16:39:40 2020 +0100
hurd: Fix spawni SPAWN_XFLAGS_TRY_SHELL with empty argv
When argv is empty, we need to add the original script to be run on the
shell command line.
Diff:
---
sysdeps/mach/hurd/spawni.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/sysdeps/mach/hurd/spawni.c b/sysdeps/mach/hurd/spawni.c
index 2aeed683fe..b511265044 100644
--- a/sysdeps/mach/hurd/spawni.c
+++ b/sysdeps/mach/hurd/spawni.c
@@ -842,7 +842,11 @@ __spawni (pid_t *pid, const char *file,
{
/* The file is accessible but it is not an executable file.
Invoke the shell to interpret it as a script. */
- err = __argz_insert (&args, &argslen, args, _PATH_BSHELL);
+ err = 0;
+ if (!argslen)
+ err = __argz_insert (&args, &argslen, args, relpath);
+ if (!err)
+ err = __argz_insert (&args, &argslen, args, _PATH_BSHELL);
if (!err)
err = child_lookup (_PATH_BSHELL, O_EXEC, 0, &execfile);
if (!err)
More information about the Glibc-cvs
mailing list