wolfcrypt/test/test.c:

* skip pkcs12_test() if NO_SHA;
* sha3_224_test(): fix error-path leak and possible uninited-read of shaCopy.
This commit is contained in:
Daniel Pouzzner
2026-03-04 13:13:37 -06:00
parent fe93ec87b1
commit 1297a85b03
+8 -5
View File
@@ -698,7 +698,7 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t pwdbased_test(void);
#if defined(USE_CERT_BUFFERS_2048) && \
defined(HAVE_PKCS12) && \
!defined(NO_ASN) && !defined(NO_PWDBASED) && !defined(NO_HMAC) && \
!defined(NO_CERTS) && !defined(NO_DES3)
!defined(NO_CERTS) && !defined(NO_DES3) && !defined(NO_SHA)
WOLFSSL_TEST_SUBROUTINE wc_test_ret_t pkcs12_test(void);
#endif
WOLFSSL_TEST_SUBROUTINE wc_test_ret_t ripemd_test(void);
@@ -2648,7 +2648,7 @@ options: [-s max_relative_stack_bytes] [-m max_relative_heap_memory_bytes]\n\
#if defined(USE_CERT_BUFFERS_2048) && \
defined(HAVE_PKCS12) && \
!defined(NO_ASN) && !defined(NO_PWDBASED) && !defined(NO_HMAC) && \
!defined(NO_CERTS) && !defined(NO_DES3)
!defined(NO_CERTS) && !defined(NO_DES3) && !defined(NO_SHA)
if ( (ret = pkcs12_test()) != 0)
TEST_FAIL("PKCS12 test failed!\n", ret);
else
@@ -6023,6 +6023,7 @@ static wc_test_ret_t sha3_224_test(void)
WC_ALLOC_VAR(shaCopy, wc_Sha3, 1, HEAP_HINT);
if (!WC_VAR_OK(shaCopy))
return WC_TEST_RET_ENC_EC(MEMORY_E);
XMEMSET(shaCopy, 0, sizeof(*shaCopy));
a.input = "";
a.output = "\x6b\x4e\x03\x42\x36\x67\xdb\xb7\x3b\x6e\x15\x45\x4f\x0e\xb1"
@@ -6047,8 +6048,10 @@ static wc_test_ret_t sha3_224_test(void)
test_sha[2] = c;
ret = wc_InitSha3_224(&sha, HEAP_HINT, devId);
if (ret != 0)
return WC_TEST_RET_ENC_EC(ret);
if (ret != 0) {
XMEMSET(&sha, 0, sizeof(sha));
ERROR_OUT(WC_TEST_RET_ENC_EC(ret), exit);
}
for (i = 0; i < times; ++i) {
ret = wc_Sha3_224_Update(&sha, (byte*)test_sha[i].input,
@@ -30466,7 +30469,7 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t pwdbased_test(void)
#if defined(USE_CERT_BUFFERS_2048) && \
defined(HAVE_PKCS12) && \
!defined(NO_ASN) && !defined(NO_PWDBASED) && !defined(NO_HMAC) && \
!defined(NO_CERTS) && !defined(NO_DES3)
!defined(NO_CERTS) && !defined(NO_DES3) && !defined(NO_SHA)
WOLFSSL_TEST_SUBROUTINE wc_test_ret_t pkcs12_test(void)
{
wc_test_ret_t ret = 0;