summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/mem.h2
-rw-r--r--kernel/mem.c13
2 files changed, 14 insertions, 1 deletions
diff --git a/include/mem.h b/include/mem.h
index 6c87b59..edba547 100644
--- a/include/mem.h
+++ b/include/mem.h
@@ -17,7 +17,7 @@ struct page {
};
void* kmalloc(size_t size);
-void* kzmalloc(size_t size);
+void* kzalloc(size_t size);
void kfree(void* ptr);
void* memcpy(void* to, const void* from, size_t size);
diff --git a/kernel/mem.c b/kernel/mem.c
index 1716dc7..0556dfb 100644
--- a/kernel/mem.c
+++ b/kernel/mem.c
@@ -61,6 +61,19 @@ void* kmalloc(size_t size) {
return (void *)page + sizeof(struct page);
}
+void* kzalloc(size_t size) {
+ char *ptr = kmalloc(size);
+
+ if (!ptr)
+ return NULL;
+
+ for (size_t i = 0; i < size; i++) {
+ *(ptr + i) = 0;
+ }
+
+ return ptr;
+}
+
void kfree(void *ptr) {
if (!ptr)
return;