From d28045daa882327baf468a121c4e40cdde51c2aa Mon Sep 17 00:00:00 2001 From: Daniel Pouzzner Date: Tue, 17 Jun 2025 09:31:19 -0500 Subject: [PATCH] wolfcrypt/test/test.c: fix prime_test() uninitialized data access by wc_FreeRng(). --- wolfcrypt/test/test.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/wolfcrypt/test/test.c b/wolfcrypt/test/test.c index 6b6f4e361..1f33a612c 100644 --- a/wolfcrypt/test/test.c +++ b/wolfcrypt/test/test.c @@ -58640,6 +58640,7 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t prime_test(void) wc_test_ret_t ret; int isPrime = 0; WC_RNG rng; + int rng_inited = 0; WOLFSSL_ENTER("prime_test"); ret = mp_init_multi(n, p1, p2, p3, NULL, NULL); @@ -58655,7 +58656,9 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t prime_test(void) #endif ret = wc_InitRng(&rng); - if (ret != 0) + if (ret == 0) + rng_inited = 1; + else ret = WC_TEST_RET_ENC_EC(ret); if (ret == 0) ret = GenerateP(p1, p2, p3, @@ -58759,7 +58762,8 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t prime_test(void) mp_clear(n); #endif - wc_FreeRng(&rng); + if (rng_inited) + wc_FreeRng(&rng); return ret; }