From 90d6fc0e28d8f955b0b6efdd6ee9b62facd357c6 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 14 Jul 2010 22:49:34 +0200 Subject: [PATCH] fix ei_aligned_delete for null pointers and non trivial dtors --- Eigen/src/Core/util/Memory.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Eigen/src/Core/util/Memory.h b/Eigen/src/Core/util/Memory.h index 1b89525a8..75c3e5ec4 100644 --- a/Eigen/src/Core/util/Memory.h +++ b/Eigen/src/Core/util/Memory.h @@ -315,7 +315,8 @@ template inline T* ei_construct_elements_of_array(T *ptr, size_t siz template inline void ei_destruct_elements_of_array(T *ptr, size_t size) { // always destruct an array starting from the end. - while(size) ptr[--size].~T(); + if(ptr) + while(size) ptr[--size].~T(); } /*****************************************************************************