summaryrefslogtreecommitdiff
path: root/Applications/FileManager/DirectoryView.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Applications/FileManager/DirectoryView.cpp')
-rw-r--r--Applications/FileManager/DirectoryView.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/Applications/FileManager/DirectoryView.cpp b/Applications/FileManager/DirectoryView.cpp
index a9391c7c3c..af5570f02d 100644
--- a/Applications/FileManager/DirectoryView.cpp
+++ b/Applications/FileManager/DirectoryView.cpp
@@ -68,8 +68,9 @@ void DirectoryView::handle_activation(const GModelIndex& index)
return;
}
- // FIXME: This doesn't seem like the right way to fully detect executability.
- if (st.st_mode & S_IXUSR) {
+ ASSERT(!S_ISLNK(st.st_mode));
+
+ if (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)) {
if (fork() == 0) {
int rc = execl(path.characters(), path.characters(), nullptr);
if (rc < 0)