From e43d630d80d60e5b53b62c3efa2c405858ac6643 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Mon, 8 Jun 2009 14:05:23 +0200 Subject: [PATCH] fix #10: the reallocateSparse function was half coded (transplanted from 55de162cf6fa3e666ef6b07223c18ae9cd1f1a30 ) --- Eigen/src/Sparse/AmbiVector.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Eigen/src/Sparse/AmbiVector.h b/Eigen/src/Sparse/AmbiVector.h index 75001a2fa..220995c25 100644 --- a/Eigen/src/Sparse/AmbiVector.h +++ b/Eigen/src/Sparse/AmbiVector.h @@ -99,6 +99,8 @@ template class AmbiVector allocSize = allocSize/sizeof(Scalar) + (allocSize%sizeof(Scalar)>0?1:0); Scalar* newBuffer = new Scalar[allocSize]; memcpy(newBuffer, m_buffer, copyElements * sizeof(ListEl)); + delete[] m_buffer; + m_buffer = newBuffer; } protected: @@ -238,8 +240,11 @@ Scalar& AmbiVector::coeffRef(int i) else { if (m_llSize>=m_allocatedElements) + { reallocateSparse(); - ei_internal_assert(m_llSize(m_buffer); + } + ei_internal_assert(m_llSize