From eeae694b863bdc07aa06648b38dd808e05efe2a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org> Date: Tue, 9 Feb 2021 16:01:01 +0100 Subject: [PATCH] Bytecode / sparse transpose: bug fix The Jc vector has n+1 elements, where n is the number of columns. Moreover, the size passed to memset() was wrong. (cherry picked from commit 1a0ee5f055a76ceb06e649ae2f8bcf660c8ff212) --- mex/sources/bytecode/SparseMatrix.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mex/sources/bytecode/SparseMatrix.cc b/mex/sources/bytecode/SparseMatrix.cc index 4af1ffa209..80a1bd3d39 100644 --- a/mex/sources/bytecode/SparseMatrix.cc +++ b/mex/sources/bytecode/SparseMatrix.cc @@ -2805,7 +2805,7 @@ dynSparseMatrix::Sparse_transpose(mxArray *A_m) mwIndex *C_j = mxGetJc(C_m); double *C_d = mxGetPr(C_m); unsigned int nze_C = 0, nze_A = 0; - memset(C_j, 0, m_A); + fill_n(C_j, m_A+1, 0); map<pair<mwIndex, unsigned int>, double> B2; for (unsigned int i = 0; i < n_A; i++) { -- GitLab