fix: add check to mmap to ensure file isn't mapped over stack segment (ed1223)
This commit is contained in:
@@ -426,6 +426,10 @@ syscall_mmap (int fd, void *addr)
|
||||
if (file_size == 0)
|
||||
return MMAP_FAILURE;
|
||||
|
||||
/* Ensure that the mmap page doesn't overlap with the stack. */
|
||||
if (addr >= (thread_current ()->curr_esp) - PGSIZE)
|
||||
return MMAP_FAILURE;
|
||||
|
||||
/* Check and ensure that there is enough space in the user virtual memory to
|
||||
hold the entire file. */
|
||||
for (off_t ofs = 0; ofs < file_size; ofs += PGSIZE)
|
||||
|
||||
Reference in New Issue
Block a user