Fix memory leak in the CHOLMOD wrapper code

When calling CHOLMOD to compute the Cholesky factor of a matrix, it was not tested whether such a factor already existed. As a consequence, if the solver was called twice in a row, the old factor would be lost to a memory leak.

Fix this by explicitly deallocating the old Cholesky factor before asking CHOLMOD for a new one.

I am amazed that this has gone unnoticed for so long. It's a massive leak.

The fix should go into 2.10 as well.

Merge request reports

Loading