From 3fa599bc4bc7d2e5ff50aee208e3cb07bfdc8a62 Mon Sep 17 00:00:00 2001
From: Mathieu Faverge <mathieu.faverge@inria.fr>
Date: Thu, 6 Jul 2023 14:30:17 +0200
Subject: [PATCH] compute/cesca: Fix memory leak

---
 compute/zcesca.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/compute/zcesca.c b/compute/zcesca.c
index 76489d42f..552ec9d6e 100644
--- a/compute/zcesca.c
+++ b/compute/zcesca.c
@@ -290,6 +290,8 @@ int CHAMELEON_zcesca(int center, int scale, cham_store_t axis,
         CHAM_desc_t *descSC = chameleon_desc_submatrix( &(ws->Wgcol), 0, 0, 1, N );
         CHAMELEON_zDesc2Lap( ChamUpperLower, descSR, SR, M );
         CHAMELEON_zDesc2Lap( ChamUpperLower, descSC, SC, 1 );
+        free( descSR );
+        free( descSC );
     }
 
     /* Cleanup the temporary data */
@@ -348,7 +350,7 @@ int CHAMELEON_zcesca(int center, int scale, cham_store_t axis,
  *
  */
 int CHAMELEON_zcesca_Tile( int center, int scale, cham_store_t axis, CHAM_desc_t *A,
-                           CHAMELEON_Complex64_t *SR, CHAMELEON_Complex64_t *SC)
+                           CHAMELEON_Complex64_t *SR, CHAMELEON_Complex64_t *SC )
 {
     CHAM_context_t *chamctxt;
     RUNTIME_sequence_t *sequence = NULL;
@@ -391,6 +393,8 @@ int CHAMELEON_zcesca_Tile( int center, int scale, cham_store_t axis, CHAM_desc_t
         CHAM_desc_t *descSC = chameleon_desc_submatrix( &(ws->Wgcol), 0, 0, 1, A->ln );
         CHAMELEON_zDesc2Lap( ChamUpperLower, descSR, SR, A->lm );
         CHAMELEON_zDesc2Lap( ChamUpperLower, descSC, SC, 1 );
+        free( descSR );
+        free( descSC );
     }
 
     CHAMELEON_zcesca_WS_Free( ws );
-- 
GitLab