diff --git a/Eigen/src/Core/util/Memory.h b/Eigen/src/Core/util/Memory.h index 34ccd3763..eff86a23f 100644 --- a/Eigen/src/Core/util/Memory.h +++ b/Eigen/src/Core/util/Memory.h @@ -188,7 +188,8 @@ template<> inline void ei_conditional_aligned_free(void *ptr) template inline void ei_destruct_elements_of_array(T *ptr, std::size_t size) { // always destruct an array starting from the end. - while(size) ptr[--size].~T(); + if(ptr) + while(size) ptr[--size].~T(); } /** \internal delete objects constructed with ei_aligned_new