From e8deee43bc0a8a9bf7664485bb0ce3b886189dae Mon Sep 17 00:00:00 2001 From: Anton Kling Date: Wed, 17 Apr 2024 23:15:36 +0200 Subject: VFS/LibC: Fix small bugs --- kernel/fs/vfs.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'kernel/fs/vfs.c') diff --git a/kernel/fs/vfs.c b/kernel/fs/vfs.c index 8ae2b1f..bcc0ce5 100644 --- a/kernel/fs/vfs.c +++ b/kernel/fs/vfs.c @@ -9,6 +9,10 @@ vfs_mounts_t mounts[10]; int num_mounts = 0; vfs_fd_t *get_vfs_fd(int fd, process_t *p) { + if (fd < 0) { + return NULL; + } + if (!p) { p = current_task; } @@ -265,7 +269,7 @@ int vfs_open(const char *file, int flags, int mode) { vfs_resolve_path(file, resolved_path); vfs_inode_t *inode = vfs_internal_open(resolved_path); if (0 == inode) { - if (mode & O_CREAT) { + if (flags & O_CREAT) { if (vfs_create_file(resolved_path)) { klog("VFS: File created", LOG_NOTE); return vfs_open(file, flags, mode); -- cgit v1.2.3