diff --git a/kernel/src/memory/MemoryManager.cpp b/kernel/src/memory/MemoryManager.cpp index 4e39e146..e085426e 100644 --- a/kernel/src/memory/MemoryManager.cpp +++ b/kernel/src/memory/MemoryManager.cpp @@ -466,7 +466,7 @@ namespace MemoryManager // Userspace pointer not aligned on page boundary if (user_ptr != user_page) { - if (!validate_user_writable_page(user_page)) return false; + if (!validate_user_readable_page(user_page)) return false; } while (size--) @@ -474,10 +474,10 @@ namespace MemoryManager // Crossed a page boundary, gotta check the page tables again before touching any memory!! if (user_ptr % ARCH_PAGE_SIZE) { - if (!validate_user_writable_page(user_ptr)) return false; + if (!validate_user_readable_page(user_ptr)) return false; } - *kernel_ptr++ = *(char*)user_ptr; + *kernel_ptr++ = *(const char*)user_ptr; user_ptr++; }