From fcc4ecb0c7c03ff8ac851150058e0cbbe1f4e08c Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Sun, 1 Jul 2012 05:36:45 +0200 Subject: [PATCH] Add debug_calloc() to the debug_heap. --- headers/private/kernel/debug_heap.h | 1 + src/system/kernel/debug/debug_heap.cpp | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/headers/private/kernel/debug_heap.h b/headers/private/kernel/debug_heap.h index ae110b9840..552a07a8cd 100644 --- a/headers/private/kernel/debug_heap.h +++ b/headers/private/kernel/debug_heap.h @@ -19,6 +19,7 @@ extern "C" { debug_alloc_pool* create_debug_alloc_pool(); void delete_debug_alloc_pool(debug_alloc_pool* pool); void* debug_malloc(size_t size); +void* debug_calloc(size_t num, size_t size); void debug_free(void* address); void debug_heap_init(); diff --git a/src/system/kernel/debug/debug_heap.cpp b/src/system/kernel/debug/debug_heap.cpp index 069e97d6f1..996f5213b9 100644 --- a/src/system/kernel/debug/debug_heap.cpp +++ b/src/system/kernel/debug/debug_heap.cpp @@ -278,6 +278,19 @@ debug_malloc(size_t size) } +void* +debug_calloc(size_t num, size_t size) +{ + size_t allocationSize = num * size; + void* allocation = debug_malloc(allocationSize); + if (allocation == NULL) + return NULL; + + memset(allocation, 0, allocationSize); + return allocation; +} + + void debug_free(void* address) {