From b90e4cd211aee8a748ef004b5835c0198f19a41c Mon Sep 17 00:00:00 2001 From: Mathieu Faverge <mathieu.faverge@inria.fr> Date: Wed, 29 Mar 2023 21:02:59 +0200 Subject: [PATCH] tetsing/ung{qr,lq}: Fix hres usage and associated memory leak --- testing/testing_zunglq.c | 6 ++++++ testing/testing_zunglq_hqr.c | 7 +++++++ testing/testing_zungqr.c | 6 ++++++ testing/testing_zungqr_hqr.c | 7 +++++++ 4 files changed, 26 insertions(+) diff --git a/testing/testing_zunglq.c b/testing/testing_zunglq.c index 6e2aa96a1..63bc4daee 100644 --- a/testing/testing_zunglq.c +++ b/testing/testing_zunglq.c @@ -80,6 +80,12 @@ testing_zunglq_desc( run_arg_list_t *args, int check ) /* Fills the matrix with random values */ CHAMELEON_zplrnt_Tile( descA, seedA ); hres = CHAMELEON_zgelqf_Tile( descA, descT ); + if ( hres != CHAMELEON_SUCCESS ) { + CHAMELEON_Desc_Flush( descA, test_data.sequence ); + CHAMELEON_Desc_Flush( descT, test_data.sequence ); + CHAMELEON_Desc_Flush( descQ, test_data.sequence ); + return hres; + } /* Calculates the solution */ testing_start( &test_data ); diff --git a/testing/testing_zunglq_hqr.c b/testing/testing_zunglq_hqr.c index e55034cd0..63f922a7e 100644 --- a/testing/testing_zunglq_hqr.c +++ b/testing/testing_zunglq_hqr.c @@ -87,6 +87,13 @@ testing_zunglq_hqr_desc( run_arg_list_t *args, int check ) /* Fills the matrix with random values */ CHAMELEON_zplrnt_Tile( descA, seedA ); hres = CHAMELEON_zgelqf_param_Tile( &qrtree, descA, descTS, descTT ); + if ( hres != CHAMELEON_SUCCESS ) { + CHAMELEON_Desc_Flush( descA, test_data.sequence ); + CHAMELEON_Desc_Flush( descTS, test_data.sequence ); + CHAMELEON_Desc_Flush( descTT, test_data.sequence ); + CHAMELEON_Desc_Flush( descQ, test_data.sequence ); + return hres; + } /* Calculates the solution */ testing_start( &test_data ); diff --git a/testing/testing_zungqr.c b/testing/testing_zungqr.c index fae6002db..1a719e929 100644 --- a/testing/testing_zungqr.c +++ b/testing/testing_zungqr.c @@ -80,6 +80,12 @@ testing_zungqr_desc( run_arg_list_t *args, int check ) /* Fills the matrix with random values */ CHAMELEON_zplrnt_Tile( descA, seedA ); hres = CHAMELEON_zgeqrf_Tile( descA, descT ); + if ( hres != CHAMELEON_SUCCESS ) { + CHAMELEON_Desc_Flush( descA, test_data.sequence ); + CHAMELEON_Desc_Flush( descT, test_data.sequence ); + CHAMELEON_Desc_Flush( descQ, test_data.sequence ); + return hres; + } /* Calculates the solution */ testing_start( &test_data ); diff --git a/testing/testing_zungqr_hqr.c b/testing/testing_zungqr_hqr.c index 8935e0f7a..e8f26af05 100644 --- a/testing/testing_zungqr_hqr.c +++ b/testing/testing_zungqr_hqr.c @@ -87,6 +87,13 @@ testing_zungqr_hqr_desc( run_arg_list_t *args, int check ) /* Fills the matrix with random values */ CHAMELEON_zplrnt_Tile( descA, seedA ); hres = CHAMELEON_zgeqrf_param_Tile( &qrtree, descA, descTS, descTT ); + if ( hres != CHAMELEON_SUCCESS ) { + CHAMELEON_Desc_Flush( descA, test_data.sequence ); + CHAMELEON_Desc_Flush( descTS, test_data.sequence ); + CHAMELEON_Desc_Flush( descTT, test_data.sequence ); + CHAMELEON_Desc_Flush( descQ, test_data.sequence ); + return hres; + } /* Calculates the solution */ testing_start( &test_data ); -- GitLab