Skip to content

Commit d28045d

Browse files
committed
wolfcrypt/test/test.c: fix prime_test() uninitialized data access by wc_FreeRng().
1 parent 3e5e470 commit d28045d

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

wolfcrypt/test/test.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58640,6 +58640,7 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t prime_test(void)
5864058640
wc_test_ret_t ret;
5864158641
int isPrime = 0;
5864258642
WC_RNG rng;
58643+
int rng_inited = 0;
5864358644
WOLFSSL_ENTER("prime_test");
5864458645

5864558646
ret = mp_init_multi(n, p1, p2, p3, NULL, NULL);
@@ -58655,7 +58656,9 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t prime_test(void)
5865558656
#endif
5865658657

5865758658
ret = wc_InitRng(&rng);
58658-
if (ret != 0)
58659+
if (ret == 0)
58660+
rng_inited = 1;
58661+
else
5865958662
ret = WC_TEST_RET_ENC_EC(ret);
5866058663
if (ret == 0)
5866158664
ret = GenerateP(p1, p2, p3,
@@ -58759,7 +58762,8 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t prime_test(void)
5875958762
mp_clear(n);
5876058763
#endif
5876158764

58762-
wc_FreeRng(&rng);
58765+
if (rng_inited)
58766+
wc_FreeRng(&rng);
5876358767

5876458768
return ret;
5876558769
}

0 commit comments

Comments
 (0)