diff --git a/kernel-src/sys/syscalls/open.c b/kernel-src/sys/syscalls/open.c index a95e877c..57f01e09 100644 --- a/kernel-src/sys/syscalls/open.c +++ b/kernel-src/sys/syscalls/open.c @@ -20,6 +20,9 @@ syscallret_t syscall_openat(context_t *context, int dirfd, char *path, int flags size_t pathsize; ret.errno = usercopy_strlen(path, &pathsize); + if (ret.errno) + return ret; + char *pathbuf = alloc(pathsize + 1); if (pathbuf == NULL) { ret.errno = ENOMEM;