All of lore.kernel.org
 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 related	[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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.