diff options
Diffstat (limited to 'Eigen/src')
-rw-r--r-- | Eigen/src/Core/util/Memory.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Eigen/src/Core/util/Memory.h b/Eigen/src/Core/util/Memory.h index d00d3aad1..7001672fc 100644 --- a/Eigen/src/Core/util/Memory.h +++ b/Eigen/src/Core/util/Memory.h @@ -494,12 +494,12 @@ template<typename T> class aligned_stack_memory_handler aligned_stack_memory_handler(T* ptr, size_t size, bool dealloc) : m_ptr(ptr), m_size(size), m_deallocate(dealloc) { - if(NumTraits<T>::RequireInitialization) + if(NumTraits<T>::RequireInitialization && m_ptr) Eigen::internal::construct_elements_of_array(m_ptr, size); } ~aligned_stack_memory_handler() { - if(NumTraits<T>::RequireInitialization) + if(NumTraits<T>::RequireInitialization && m_ptr) Eigen::internal::destruct_elements_of_array<T>(m_ptr, m_size); if(m_deallocate) Eigen::internal::aligned_free(m_ptr); |