From 70e0553792ea708ac1cc086112f331f7498b516d Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Mon, 24 Mar 2014 21:37:16 +0000 Subject: [PATCH] [Numerics] Fix invalid dereference in SquareMatrix::factor The work array hasn't always been allocated, so taking its address isn't necessarily valid. Also, dlange doesn't use the work array in the '1' norm case anyway. Cherry-pick of trunk commit 2830. --- src/numerics/SquareMatrix.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/numerics/SquareMatrix.cpp b/src/numerics/SquareMatrix.cpp index 4e154e264..9dd1dbd24 100644 --- a/src/numerics/SquareMatrix.cpp +++ b/src/numerics/SquareMatrix.cpp @@ -131,7 +131,7 @@ int SquareMatrix::factor() if (useQR_) { return factorQR(); } - a1norm_ = ct_dlange('1', m_nrows, m_nrows, &(*(begin())), m_nrows, DATA_PTR(work)); + a1norm_ = ct_dlange('1', m_nrows, m_nrows, &(*(begin())), m_nrows, 0); integer n = static_cast(nRows()); int info=0; m_factored = 1;