* fix an issue that execve attempts to parse directory as elf file.
[lunaix-os.git] / lunaix-os / kernel / exe / exec.c
index 6105c1c7e2965552d4fd3035cfe5d84bf6bd1f3a..813d5c32b99ff5dd4b5ba8c5c3c56fb221fb5741 100644 (file)
@@ -201,6 +201,11 @@ exec_load_byname(struct exec_container* container, const char* filename)
         goto done;
     }
 
         goto done;
     }
 
+    if (!check_itype_any(dnode->inode, F_FILE)) {
+        errno = EISDIR;
+        goto done;
+    }
+
     errno = exec_load(container, file);
 
     // It shouldn't matter which pid we passed. As the only reader is 
     errno = exec_load(container, file);
 
     // It shouldn't matter which pid we passed. As the only reader is