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(); } /*****************************************************************************