From 58628593c63b7adf8150b94b12056ce581701fdb Mon Sep 17 00:00:00 2001
From: Mathieu Faverge <mathieu.faverge@inria.fr>
Date: Fri, 11 Nov 2016 13:32:04 +0100
Subject: [PATCH] Fix the memory leak in dof extend

---
 z_spm_dof_extend.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/z_spm_dof_extend.c b/z_spm_dof_extend.c
index c9e2e0c3..0808013e 100644
--- a/z_spm_dof_extend.c
+++ b/z_spm_dof_extend.c
@@ -22,9 +22,9 @@ z_spmDofExtend(pastix_spm_t *spm)
 {
     pastix_int_t        i, j, k, ii, jj, dofi, dofj, baseval;
     pastix_int_t       *colptr, *rowptr, *dofs;
-    pastix_complex64_t *newval, *oldval;
+    pastix_complex64_t *newval, *oldval, *oldvalptr;
 
-    oldval = (pastix_complex64_t*)(spm->values);
+    oldval = oldvalptr = (pastix_complex64_t*)(spm->values);
     newval = spm->values = malloc( spm->nnzexp * sizeof(pastix_complex64_t) );
 
     baseval = spmFindBase( spm );
@@ -107,5 +107,7 @@ z_spmDofExtend(pastix_spm_t *spm)
         }
         break;
     }
+
+    free(oldvalptr);
     return;
 }
-- 
GitLab