diff --git a/sandbox/vm/kmalloc.c b/sandbox/vm/kmalloc.c index 2f015c6..031e14f 100644 --- a/sandbox/vm/kmalloc.c +++ b/sandbox/vm/kmalloc.c @@ -28,6 +28,10 @@ static const size_t nr_size_n_caches = sizeof size_n_caches / sizeof size_n_cach void *kmalloc(size_t count, vm_flags_t flags) { + if (!count) { + return NULL; + } + vm_cache_t *best_fit = NULL; for (size_t i = 0; i < nr_size_n_caches; i++) { if (size_n_caches[i].c_obj_size >= count) { @@ -43,7 +47,7 @@ void *kmalloc(size_t count, vm_flags_t flags) if (!VM_CACHE_INITIALISED(best_fit)) { vm_cache_init(best_fit); } - + return vm_cache_alloc(best_fit, flags); }