diff options
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 4 | ||||
-rw-r--r-- | winsup/cygwin/spawn.cc | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index b102eaeba..0b62c695c 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2004-07-07 Corinna Vinschen <corinna@vinschen.de> + + * spawn.cc (spawn_guts): Check if script is executable. + 2004-06-30 Corinna Vinschen <corinna@vinschen.de> * times.cc (hires_ms::usecs): Don't overreact. 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] != '!') |