From b528a54a708c4cd2149c8e6884af2063c2b272cd Mon Sep 17 00:00:00 2001 From: dzwdz Date: Sat, 17 Jun 2023 22:19:36 +0200 Subject: kernel: fix procfs overflow bug, add safeguard to prevent similar ones --- src/kernel/syscalls.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/kernel/syscalls.c') diff --git a/src/kernel/syscalls.c b/src/kernel/syscalls.c index 66f8757..ebdf64e 100644 --- a/src/kernel/syscalls.c +++ b/src/kernel/syscalls.c @@ -295,7 +295,7 @@ long _sys_fs_respond(hid_t hid, const void __user *buf, long ret, int flags) { if (!h || h->type != HANDLE_FS_REQ) SYSCALL_RETURN(-EBADF); VfsReq *req = h->req; if (req) { - if (req->output.len > 0 && ret > 0) { + if (ret > 0 && req->type == VFSOP_READ) { // if this vfsop outputs data and ret is positive, it's the length of the buffer // TODO document // TODO move to vfsreq_finish -- cgit v1.2.3