git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* fix an issue that execve attempts to parse directory as elf file.
[lunaix-os.git]
/
lunaix-os
/
kernel
/
exe
/
exec.c
diff --git
a/lunaix-os/kernel/exe/exec.c
b/lunaix-os/kernel/exe/exec.c
index 6105c1c7e2965552d4fd3035cfe5d84bf6bd1f3a..813d5c32b99ff5dd4b5ba8c5c3c56fb221fb5741 100644
(file)
--- a/
lunaix-os/kernel/exe/exec.c
+++ b/
lunaix-os/kernel/exe/exec.c
@@
-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