diff options
author | Anton Kling <anton@kling.gg> | 2024-06-23 23:55:03 +0200 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2024-06-23 23:55:03 +0200 |
commit | f37e21114750c066a1b9f9d8e789185746fd1c45 (patch) | |
tree | c49f57d40f78df286c24c6b96aa6d94d301db989 /kernel/drivers | |
parent | eb606d798b18be08e4a403132350b6dc350b522b (diff) |
Kernel: Fix small out of memory issues
Diffstat (limited to 'kernel/drivers')
-rw-r--r-- | kernel/drivers/vbe.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/drivers/vbe.c b/kernel/drivers/vbe.c index c0603d6..5621b63 100644 --- a/kernel/drivers/vbe.c +++ b/kernel/drivers/vbe.c @@ -51,9 +51,13 @@ vfs_vm_object_t *vbe_get_vm_object(u64 length, u64 offset, vfs_fd_t *fd) { (void)fd; (void)length; (void)offset; - vbe_vm_object.size = framebuffer_size; int n = (uintptr_t)align_page((void *)(u32)framebuffer_size) / 0x1000; vbe_vm_object.object = kmalloc(sizeof(void *) * n); + if (!vbe_vm_object.object) { + return NULL; + } + vbe_vm_object.size = framebuffer_size; + for (int i = 0; i < n; i++) { vbe_vm_object.object[i] = (void *)framebuffer_physical + (i * 0x1000); } |