summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2009-08-10 18:36:28 +0000
committerCorinna Vinschen <corinna@vinschen.de>2009-08-10 18:36:28 +0000
commit9043b49e63ba94adc1d3756b953ab20f4f4e1a2c (patch)
treef9894b26d35ee3b5e9239fa824f9f905955d7000
parent5f8c90bbc03dbfeb3f7b42e0c45ae8fdebc97975 (diff)
downloadcygnal-9043b49e63ba94adc1d3756b953ab20f4f4e1a2c.tar.gz
cygnal-9043b49e63ba94adc1d3756b953ab20f4f4e1a2c.tar.bz2
cygnal-9043b49e63ba94adc1d3756b953ab20f4f4e1a2c.zip
* spawn.cc (av::fixup): Check shell scripts for executability only on
filesystems/mounts supporting real permissions.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/spawn.cc2
2 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 83cf11c8a..dc5033fc1 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2009-08-10 Corinna Vinschen <corinna@vinschen.de>
+ * spawn.cc (av::fixup): Check shell scripts for executability only on
+ filesystems/mounts supporting real permissions.
+
+2009-08-10 Corinna Vinschen <corinna@vinschen.de>
+
* dtable.cc (DEV_SOCKET): New static WCHAR string. Name of
the native NT socket device.
(dtable::init_std_file_from_handle): Remove unused tmp_pathbuf
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
index 4aafe6bae..c5b5bee9a 100644
--- a/winsup/cygwin/spawn.cc
+++ b/winsup/cygwin/spawn.cc
@@ -1083,7 +1083,7 @@ just_shell:
/* Check if script is executable. Otherwise we start non-executable
scripts successfully, which is incorrect behaviour. */
- if (check_file_access (real_path, X_OK) < 0)
+ if (real_path.has_acls () && check_file_access (real_path, X_OK) < 0)
return -1; /* errno is already set. */
/* Replace argv[0] with the full path to the script if this is the