From 0b5b18653a633b5b5b814a7141f261dc3edd4be8 Mon Sep 17 00:00:00 2001 From: geeksville Date: Fri, 10 Jul 2020 13:52:54 -0700 Subject: [PATCH] Panic if new ever returns NULL --- src/alloc.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/alloc.cpp diff --git a/src/alloc.cpp b/src/alloc.cpp new file mode 100644 index 000000000..ddbbdab05 --- /dev/null +++ b/src/alloc.cpp @@ -0,0 +1,31 @@ +#include "rtos.h" +#include +#include + +/** + * Custom new/delete to panic if out out memory + */ + +void *operator new(size_t size) +{ + auto p = rtos_malloc(size); + assert(p); + return p; +} + +void *operator new[](size_t size) +{ + auto p = rtos_malloc(size); + assert(p); + return p; +} + +void operator delete(void *ptr) +{ + rtos_free(ptr); +} + +void operator delete[](void *ptr) +{ + rtos_free(ptr); +} \ No newline at end of file