[dpdk-dev v1] examples/fips_validation: fix dangling pt.val after MCT test

Kai Ji kai.ji at intel.com
Fri Mar 6 13:37:12 CET 2026


After fips_mct_sha_test() and fips_mct_shake_test() complete,
vec.pt.val is freed but left as a non-NULL dangling pointer.
Since vec is a file-scope global, the next SHA algorithm's AFT
test calls parse_uint8_hex_str(&vec.pt), which checks val->val
and calls rte_free() on the stale pointer, producing:

  EAL: Error: Invalid memory

Fix by setting vec.pt.val to NULL after rte_free() at the end
of both MCT functions so the subsequent rte_free() guard in
parse_uint8_hex_str() skips the already-freed pointer.

Signed-off-by: Kai Ji <kai.ji at intel.com>
---
 examples/fips_validation/main.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/examples/fips_validation/main.c b/examples/fips_validation/main.c
index daf273bc85..cfb5f0124c 100644
--- a/examples/fips_validation/main.c
+++ b/examples/fips_validation/main.c
@@ -2610,6 +2610,7 @@ fips_mct_sha_test(void)
 		rte_free(md[i].val);
 
 	rte_free(vec.pt.val);
+	vec.pt.val = NULL;
 
 	rte_free(val.val);
 	return 0;
@@ -2698,6 +2699,7 @@ fips_mct_shake_test(void)
 
 	rte_free(md.val);
 	rte_free(vec.pt.val);
+	vec.pt.val = NULL;
 	rte_free(val.val);
 	return 0;
 }
-- 
2.43.0



More information about the dev mailing list