summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMisha Brukman <brukman+llvm@gmail.com>2005-04-20 15:33:22 +0000
committerMisha Brukman <brukman+llvm@gmail.com>2005-04-20 15:33:22 +0000
commita9a8c1b65b1b95fd1d03daa4b03db44016dc2bc3 (patch)
treeee49fbf846eca0d02644f5d00c1179cb4ba1a0fe
parentee6770f1a386ef32851a83f63277ab12226c61a7 (diff)
downloadbcm5719-llvm-a9a8c1b65b1b95fd1d03daa4b03db44016dc2bc3.tar.gz
bcm5719-llvm-a9a8c1b65b1b95fd1d03daa4b03db44016dc2bc3.zip
Do not mark directories as `executable', we only want program files
Patch by Markus Oberhumer. llvm-svn: 21377
-rw-r--r--llvm/lib/System/Unix/Path.inc4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/System/Unix/Path.inc b/llvm/lib/System/Unix/Path.inc
index e55d9edcf2c..ce0e49127e0 100644
--- a/llvm/lib/System/Unix/Path.inc
+++ b/llvm/lib/System/Unix/Path.inc
@@ -311,6 +311,10 @@ Path::writable() const {
bool
Path::executable() const {
+ struct stat st;
+ int r = stat(path.c_str(), &st);
+ if (r != 0 || !S_ISREG(st.st_mode))
+ return false;
return 0 == access(path.c_str(), R_OK | X_OK );
}
OpenPOWER on IntegriCloud