pread/pwrite: fix vulnerability

This commit is contained in:
Matheus
2026-04-28 18:52:49 -03:00
parent eaab15738a
commit 4af4c3e26e
2 changed files with 10 additions and 0 deletions
+5
View File
@@ -10,6 +10,11 @@ syscallret_t syscall_pread(context_t *context, int fd, void *buffer, size_t size
.ret = -1 .ret = -1
}; };
if (!IS_USER_ADDRESS(buffer)) {
ret.errno = EFAULT;
return ret;
}
file_t *file = fd_get(fd); file_t *file = fd_get(fd);
if (file == NULL || (file->flags & FILE_READ) == 0) { if (file == NULL || (file->flags & FILE_READ) == 0) {
+5
View File
@@ -8,6 +8,11 @@ syscallret_t syscall_pwrite(context_t *context, int fd, void *buffer, size_t siz
.ret = -1 .ret = -1
}; };
if (!IS_USER_ADDRESS(buffer)) {
ret.errno = EFAULT;
return ret;
}
file_t *file = fd_get(fd); file_t *file = fd_get(fd);
if (file == NULL || (file->flags & FILE_WRITE) == 0) { if (file == NULL || (file->flags & FILE_WRITE) == 0) {