DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH v1] examples/fips_validation: fix memory leak in sha test
@ 2022-07-02 14:51 Gowrishankar Muthukrishnan
  2022-07-02 14:58 ` [PATCH v2] " Gowrishankar Muthukrishnan
  2022-07-02 18:44 ` Gowrishankar Muthukrishnan
  0 siblings, 2 replies; 11+ messages in thread
From: Gowrishankar Muthukrishnan @ 2022-07-02 14:51 UTC (permalink / raw)
  To: dev
  Cc: Akhil Goyal, Fan Zhang, Brian Dooley, Anoob Joseph,
	Archana Muniganti, Jerin Jacob, Gowrishankar Muthukrishnan

There is wrong size used for allocation of digest buffer which in
some cases cause memory corruption. Also, fixed places where memory
leak is observed.

Fixes: 93d797d94f1 ("examples/fips_validation: add parsing for sha")

Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
---
 examples/fips_validation/fips_validation_sha.c | 10 ++++++++--
 examples/fips_validation/main.c                |  1 +
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/examples/fips_validation/fips_validation_sha.c b/examples/fips_validation/fips_validation_sha.c
index a2928618d7..538cb6647a 100644
--- a/examples/fips_validation/fips_validation_sha.c
+++ b/examples/fips_validation/fips_validation_sha.c
@@ -229,13 +229,19 @@ parse_test_sha_json_algorithm(void)
 	for (i = 0; i < RTE_DIM(phsc); i++) {
 		if (info.interim_info.sha_data.algo == phsc[i].algo) {
 			vec.cipher_auth.digest.len = atoi(phsc[i].str);
-			vec.cipher_auth.digest.val = calloc(0, vec.cipher_auth.digest.len * 8);
+			if (vec.cipher_auth.digest.val)
+				free(vec.cipher_auth.digest.val);
+
+			vec.cipher_auth.digest.val = calloc(1, vec.cipher_auth.digest.len);
 			break;
 		}
 	}
 
-	if (i == RTE_DIM(phsc))
+	if (i == RTE_DIM(phsc)) {
+		free(vec.cipher_auth.digest.val);
+		vec.cipher_auth.digest.val = NULL;
 		return -1;
+	}
 
 	return 0;
 }
diff --git a/examples/fips_validation/main.c b/examples/fips_validation/main.c
index 6d52048b5c..8bd5a66889 100644
--- a/examples/fips_validation/main.c
+++ b/examples/fips_validation/main.c
@@ -2099,6 +2099,7 @@ fips_test_one_json_file(void)
 		json_info.json_vector_set = json_array_get(json_info.json_root, vector_set_idx);
 		fips_test_one_vector_set();
 		json_array_append_new(json_info.json_write_root, json_info.json_write_set);
+		json_incref(json_info.json_write_set);
 	}
 
 	json_dumpf(json_info.json_write_root, info.fp_wr, JSON_INDENT(4));
-- 
2.25.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-07-04 17:32 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-02 14:51 [PATCH v1] examples/fips_validation: fix memory leak in sha test Gowrishankar Muthukrishnan
2022-07-02 14:58 ` [PATCH v2] " Gowrishankar Muthukrishnan
2022-07-04  7:48   ` David Marchand
2022-07-04  7:50     ` [EXT] " Akhil Goyal
2022-07-04  8:26       ` Thomas Monjalon
2022-07-04  8:18     ` Gowrishankar Muthukrishnan
2022-07-02 18:44 ` Gowrishankar Muthukrishnan
2022-07-04  7:00   ` Akhil Goyal
2022-07-04  9:55   ` [PATCH v3] " Gowrishankar Muthukrishnan
2022-07-04 10:34     ` Akhil Goyal
2022-07-04 17:32       ` Akhil Goyal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).