From da77fad749054f28b725d934fb79151063b2e0de Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Wed, 22 Feb 2023 15:31:47 +0100 Subject: [PATCH] In the very rare case of pPivot being NULL, prevent a crsh by reordering the matrix. --- src/maths/sparse/spfactor.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/maths/sparse/spfactor.c b/src/maths/sparse/spfactor.c index 337ad2ace..de5de6177 100644 --- a/src/maths/sparse/spfactor.c +++ b/src/maths/sparse/spfactor.c @@ -228,6 +228,11 @@ spOrderAndFactor(MatrixPtr Matrix, RealNumber RHS[], RealNumber RelThreshold, INCRESP; #endif pPivot = Matrix->Diag[Step]; + if (!pPivot) { + fprintf(stderr, "Warning: spfactor.c, 230, Pivot for step = %d not found\n", Step); + ReorderingRequired = YES; + break; /* for loop */ + } LargestInCol = FindLargestInCol(pPivot->NextInCol); if ((LargestInCol * RelThreshold < ELEMENT_MAG(pPivot))) { if (Matrix->Complex)