summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/spawn.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2004-07-08 09:18:29 +0000
committerCorinna Vinschen <corinna@vinschen.de>2004-07-08 09:18:29 +0000
commit1d4707111a1a3f8ba6a15b44e6401de1d3fe4c34 (patch)
treeb4f23e1efe3c4a83ed806ef09078eddca237342e /winsup/cygwin/spawn.cc
parent0d72b1deace65a0ee346ce988446503fb317bbda (diff)
downloadcygnal-1d4707111a1a3f8ba6a15b44e6401de1d3fe4c34.tar.gz
cygnal-1d4707111a1a3f8ba6a15b44e6401de1d3fe4c34.tar.bz2
cygnal-1d4707111a1a3f8ba6a15b44e6401de1d3fe4c34.zip
* spawn.cc (spawn_guts): Check if script is executable.
Diffstat (limited to 'winsup/cygwin/spawn.cc')
-rw-r--r--winsup/cygwin/spawn.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
index 225e1ce0f..b7b136b2b 100644
--- a/winsup/cygwin/spawn.cc
+++ b/winsup/cygwin/spawn.cc
@@ -469,6 +469,13 @@ spawn_guts (const char * prog_arg, const char *const *argv,
debug_printf ("%s is a script", (char *) real_path);
+ if (real_path.has_acls () && allow_ntsec
+ && check_file_access (real_path, X_OK))
+ {
+ debug_printf ("... but not executable");
+ break;
+ }
+
char *pgm, *arg1;
if (buf[0] != '#' || buf[1] != '!')