summaryrefslogtreecommitdiff
path: root/src/kernel/syscalls.c
diff options
context:
space:
mode:
authordzwdz2021-08-22 15:59:04 +0200
committerdzwdz2021-08-22 15:59:04 +0200
commite2075e56f875e077cd5c3d6e3c85368c1087654f (patch)
treee07b1fd44449fee5a01514e447af8eed15ac611c /src/kernel/syscalls.c
parent2c0113cb72b63ba7177d14a60bcd9e51eee8e5cf (diff)
fs_open() accepts a signed length, fixes an infinite loop
it occureed if the path_simplify returned a negative value - instead of being interpreter as an error it just carried on, ending up in an infinite loop.
Diffstat (limited to 'src/kernel/syscalls.c')
-rw-r--r--src/kernel/syscalls.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/kernel/syscalls.c b/src/kernel/syscalls.c
index 0a88c98..ccf0a52 100644
--- a/src/kernel/syscalls.c
+++ b/src/kernel/syscalls.c
@@ -65,7 +65,7 @@ int _syscall_fork() {
return 1;
}
-fd_t _syscall_fs_open(const char *path, size_t len) {
+fd_t _syscall_fs_open(const char *path, int len) {
struct virt_iter iter;
struct vfs_mount *mount = process_current->mount;
static char buffer[PATH_MAX]; // holds the path