From db13d23155231a70b0ed5c064c2b8833537db677 Mon Sep 17 00:00:00 2001 From: Matheus Date: Sat, 13 Apr 2024 20:58:20 -0300 Subject: [PATCH] elf: instead of an assert fail, return EACCES --- kernel-src/sys/elf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel-src/sys/elf.c b/kernel-src/sys/elf.c index bf0e42f0..45629cff 100644 --- a/kernel-src/sys/elf.c +++ b/kernel-src/sys/elf.c @@ -137,7 +137,9 @@ static int load(vnode_t *vnode, elfph64_t *ph) { int elf_load(vnode_t *vnode, void *base, void **entry, char **interpreter, auxv64list_t *auxv64) { // TODO return ETXTBUSY if node is open for writing - __assert(vnode->type == V_TYPE_REGULAR); + if (vnode->type != V_TYPE_REGULAR) + return EACCES; + elfheader64_t header; int err = readexact(vnode, &header, sizeof(elfheader64_t), 0); if (err)