From ed697832ca8274132357279ff67cfaeda1a8df63 Mon Sep 17 00:00:00 2001
From: Daiki Ueno <ueno@gnu.org>
Date: Mon, 15 Mar 2021 10:48:49 +0100
Subject: [PATCH 2/5] gnutls-cli-debug: avoid resource leak in saving DHE
 params

Signed-off-by: Daiki Ueno <ueno@gnu.org>
---
 src/tests.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/tests.c b/src/tests.c
index 067531bd8e..7d1530b14c 100644
--- a/src/tests.c
+++ b/src/tests.c
@@ -585,21 +585,30 @@ test_code_t test_dhe_group(gnutls_session_t session)
 			/* save the PKCS #3 params */
 			gnutls_dh_params_t dhp;
 			gnutls_datum_t p3;
 			
 			ret2 = gnutls_dh_params_init(&dhp);
-			if (ret2 < 0)
+			if (ret2 < 0) {
+				fclose(fp);
 				return TEST_FAILED;
+			}
 
 			ret2 = gnutls_dh_params_import_raw(dhp, &prime, &gen);
-			if (ret2 < 0)
+			if (ret2 < 0) {
+				gnutls_dh_params_deinit(dhp);
+				fclose(fp);
 				return TEST_FAILED;
+			}
 
 			ret2 = gnutls_dh_params_export2_pkcs3(dhp, GNUTLS_X509_FMT_PEM, &p3);
-			if (ret2 < 0)
+			if (ret2 < 0) {
+				gnutls_dh_params_deinit(dhp);
+				fclose(fp);
 				return TEST_FAILED;
+			}
 
+			gnutls_dh_params_deinit(dhp);
 			fprintf(fp, "\n%s\n", p3.data);
 			gnutls_free(p3.data);
 		}
 
 		fclose(fp);
-- 
2.30.2

