From c4b44869daab09da2f559e88c5efb137a65b3dbf Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Tue, 25 Sep 2018 04:13:08 +0000 Subject: [PATCH] Revert r342936 "Remove redundant null pointer check in operator delete" A review for the change was opened in https://reviews.llvm.org/D52401 but the change was committed before being approved by any of the code owners for libc++. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@342938 91177308-0d34-0410-b5e6-96231b3b80d8 --- src/new.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/new.cpp b/src/new.cpp index 35f481db0..8013d89ae 100644 --- a/src/new.cpp +++ b/src/new.cpp @@ -135,7 +135,8 @@ _LIBCPP_WEAK void operator delete(void* ptr) _NOEXCEPT { - ::free(ptr); + if (ptr) + ::free(ptr); } _LIBCPP_WEAK @@ -256,10 +257,11 @@ _LIBCPP_WEAK void operator delete(void* ptr, std::align_val_t) _NOEXCEPT { + if (ptr) #if defined(_LIBCPP_MSVCRT_LIKE) - ::_aligned_free(ptr); + ::_aligned_free(ptr); #else - ::free(ptr); + ::free(ptr); #endif }