From 4347701d33f96e42eaf4d4914ca6da4a9a006c51 Mon Sep 17 00:00:00 2001 From: Matthew Parkinson Date: Thu, 7 May 2020 15:02:48 +0100 Subject: [PATCH] Fix sized delete of nullptr (#181) * Fix sized delete of nullptr The core snmalloc code assumes if you know the size, then it is not nullptr. However, the C++ delete operator can be called with nullptr. This change checks for that case. --- src/override/new.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/override/new.cc b/src/override/new.cc index 87450e7..70083da 100644 --- a/src/override/new.cc +++ b/src/override/new.cc @@ -43,6 +43,8 @@ void operator delete(void* p)EXCEPTSPEC void operator delete(void* p, size_t size)EXCEPTSPEC { + if (p == nullptr) + return; ThreadAlloc::get_noncachable()->dealloc(p, size); } @@ -58,6 +60,8 @@ void operator delete[](void* p) EXCEPTSPEC void operator delete[](void* p, size_t size) EXCEPTSPEC { + if (p == nullptr) + return; ThreadAlloc::get_noncachable()->dealloc(p, size); }