From: Samuel Thibault Date: Sat, 26 Dec 2020 15:39:40 +0000 (+0100) Subject: hurd: Fix spawni SPAWN_XFLAGS_TRY_SHELL with empty argv X-Git-Tag: glibc-2.33~128 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a39b95b975929f12359d4bc55f25bd88c3ec02c5;p=thirdparty%2Fglibc.git 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 --git a/sysdeps/mach/hurd/spawni.c b/sysdeps/mach/hurd/spawni.c index 2aeed683fef..b511265044e 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)