summaryrefslogtreecommitdiff
path: root/kernel/drivers
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2024-06-23 23:55:03 +0200
committerAnton Kling <anton@kling.gg>2024-06-23 23:55:03 +0200
commitf37e21114750c066a1b9f9d8e789185746fd1c45 (patch)
treec49f57d40f78df286c24c6b96aa6d94d301db989 /kernel/drivers
parenteb606d798b18be08e4a403132350b6dc350b522b (diff)
Kernel: Fix small out of memory issues
Diffstat (limited to 'kernel/drivers')
-rw-r--r--kernel/drivers/vbe.c6
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);
}