summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/release/3.1.03
-rw-r--r--winsup/cygwin/spawn.cc9
2 files changed, 9 insertions, 3 deletions
diff --git a/winsup/cygwin/release/3.1.0 b/winsup/cygwin/release/3.1.0
index 3f2f3c86b..fb0e37215 100644
--- a/winsup/cygwin/release/3.1.0
+++ b/winsup/cygwin/release/3.1.0
@@ -91,3 +91,6 @@ Bug Fixes
- If the argument to mkdir(2) or rmdir(2) is 'x:\', don't strip the
trailing backslash.
Addresses: https://cygwin.com/ml/cygwin/2019-08/msg00334.html
+
+- Make spawnvp, spawnvpe fail if the executable is not in $PATH.
+ Addresses: https://cygwin.com/ml/cygwin/2019-10/msg00032.html
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
index f8090a6a4..f82860e72 100644
--- a/winsup/cygwin/spawn.cc
+++ b/winsup/cygwin/spawn.cc
@@ -1081,8 +1081,9 @@ extern "C" int
spawnvp (int mode, const char *file, const char * const *argv)
{
path_conv buf;
- return spawnve (mode | _P_PATH_TYPE_EXEC, find_exec (file, buf), argv,
- cur_environ ());
+ return spawnve (mode | _P_PATH_TYPE_EXEC,
+ find_exec (file, buf, "PATH", FE_NNF) ?: "",
+ argv, cur_environ ());
}
extern "C" int
@@ -1090,7 +1091,9 @@ spawnvpe (int mode, const char *file, const char * const *argv,
const char * const *envp)
{
path_conv buf;
- return spawnve (mode | _P_PATH_TYPE_EXEC, find_exec (file, buf), argv, envp);
+ return spawnve (mode | _P_PATH_TYPE_EXEC,
+ find_exec (file, buf, "PATH", FE_NNF) ?: "",
+ argv, envp);
}
int