@@ -22739,15 +22739,22 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t decodedCertCache_test(void)
2273922739static wc_test_ret_t rsa_flatten_test(RsaKey* key)
2274022740{
2274122741 wc_test_ret_t ret;
22742+ #if !defined(WOLFSSL_NO_MALLOC)
2274222743 byte* e = NULL;
2274322744 byte* n = NULL;
22745+ #else
22746+ byte e[RSA_TEST_BYTES];
22747+ byte n[RSA_TEST_BYTES];
22748+ #endif
2274422749 word32 eSz = RSA_TEST_BYTES;
2274522750 word32 nSz = RSA_TEST_BYTES;
2274622751
22752+ #if !defined(WOLFSSL_NO_MALLOC)
2274722753 e = (byte*)XMALLOC(RSA_TEST_BYTES, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2274822754 n = (byte*)XMALLOC(RSA_TEST_BYTES, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2274922755 if (e == NULL || n == NULL)
2275022756 ERROR_OUT(WC_TEST_RET_ENC_EC(MEMORY_E), exit_rsa_flatten);
22757+ #endif
2275122758
2275222759 /* Parameter Validation testing. */
2275322760 ret = wc_RsaFlattenPublicKey(NULL, e, &eSz, n, &nSz);
@@ -22788,8 +22795,10 @@ static wc_test_ret_t rsa_flatten_test(RsaKey* key)
2278822795 ret = 0;
2278922796
2279022797exit_rsa_flatten:
22798+ #if !defined(WOLFSSL_NO_MALLOC)
2279122799 XFREE(e, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2279222800 XFREE(n, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
22801+ #endif
2279322802 return ret;
2279422803}
2279522804#endif /* NO_ASN */
@@ -22801,22 +22810,31 @@ static wc_test_ret_t rsa_export_key_test(RsaKey* key)
2280122810 wc_test_ret_t ret;
2280222811 byte e[3];
2280322812 word32 eSz = sizeof(e);
22813+ #if !defined(WOLFSSL_NO_MALLOC)
2280422814 byte* n = NULL;
22805- word32 nSz = RSA_TEST_BYTES;
2280622815 byte* d = NULL;
22807- word32 dSz = RSA_TEST_BYTES;
2280822816 byte* p = NULL;
22809- word32 pSz = RSA_TEST_BYTES/2;
2281022817 byte* q = NULL;
22818+ #else
22819+ byte n[RSA_TEST_BYTES];
22820+ byte d[RSA_TEST_BYTES];
22821+ byte p[RSA_TEST_BYTES/2];
22822+ byte q[RSA_TEST_BYTES/2];
22823+ #endif
22824+ word32 nSz = RSA_TEST_BYTES;
22825+ word32 dSz = RSA_TEST_BYTES;
22826+ word32 pSz = RSA_TEST_BYTES/2;
2281122827 word32 qSz = RSA_TEST_BYTES/2;
2281222828 word32 zero = 0;
2281322829
22830+ #if !defined(WOLFSSL_NO_MALLOC)
2281422831 n = (byte*)XMALLOC(RSA_TEST_BYTES, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2281522832 d = (byte*)XMALLOC(RSA_TEST_BYTES, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2281622833 p = (byte*)XMALLOC(RSA_TEST_BYTES/2, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2281722834 q = (byte*)XMALLOC(RSA_TEST_BYTES/2, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2281822835 if (n == NULL || d == NULL || p == NULL || q == NULL)
2281922836 ERROR_OUT(WC_TEST_RET_ENC_EC(MEMORY_E), exit_rsa_export);
22837+ #endif
2282022838
2282122839 ret = wc_RsaExportKey(NULL, e, &eSz, n, &nSz, d, &dSz, p, &pSz, q, &qSz);
2282222840 if (ret != WC_NO_ERR_TRACE(BAD_FUNC_ARG))
@@ -22877,10 +22895,12 @@ static wc_test_ret_t rsa_export_key_test(RsaKey* key)
2287722895 ret = 0;
2287822896
2287922897exit_rsa_export:
22898+ #if !defined(WOLFSSL_NO_MALLOC)
2288022899 XFREE(n, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2288122900 XFREE(d, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2288222901 XFREE(p, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2288322902 XFREE(q, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
22903+ #endif
2288422904 return ret;
2288522905}
2288622906#endif /* !HAVE_FIPS && !NO_ASN && !WOLFSSL_RSA_VERIFY_ONLY */
@@ -22909,11 +22929,14 @@ static wc_test_ret_t rsa_sig_test(RsaKey* key, word32 keyLen, int modLen, WC_RNG
2290922929 };
2291022930 word32 inLen = (word32)XSTRLEN((char*)in);
2291122931 word32 outSz = RSA_TEST_BYTES;
22932+ #if !defined(WOLFSSL_NO_MALLOC)
2291222933 byte* out = NULL;
22913-
2291422934 out = (byte*)XMALLOC(RSA_TEST_BYTES, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2291522935 if (out == NULL)
2291622936 ERROR_OUT(WC_TEST_RET_ENC_EC(MEMORY_E), exit_rsa_sig);
22937+ #else
22938+ byte out[RSA_TEST_BYTES];
22939+ #endif
2291722940
2291822941 /* Parameter Validation testing. */
2291922942 ret = wc_SignatureGetSize(WC_SIGNATURE_TYPE_NONE, key, keyLen);
@@ -23080,7 +23103,9 @@ static wc_test_ret_t rsa_sig_test(RsaKey* key, word32 keyLen, int modLen, WC_RNG
2308023103 ret = 0;
2308123104
2308223105exit_rsa_sig:
23106+ #if !defined(WOLFSSL_NO_MALLOC)
2308323107 XFREE(out, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
23108+ #endif
2308423109 return ret;
2308523110}
2308623111#endif /* !NO_SIG_WRAPPER && !NO_SHA256 */
@@ -64320,7 +64345,11 @@ static wc_test_ret_t rsa_onlycb_test(myCryptoDevCtx *ctx)
6432064345
6432164346 word32 sigSz;
6432264347 WOLFSSL_SMALL_STACK_STATIC const byte in[] = TEST_STRING;
64348+ #if !defined(WOLFSSL_NO_MALLOC)
6432364349 byte* out = NULL;
64350+ #else
64351+ byte out[RSA_TEST_BYTES];
64352+ #endif
6432464353
6432564354#if !defined(USE_CERT_BUFFERS_1024) && !defined(USE_CERT_BUFFERS_2048) && \
6432664355 !defined(USE_CERT_BUFFERS_3072) && !defined(USE_CERT_BUFFERS_4096) && \
@@ -64358,9 +64387,11 @@ static wc_test_ret_t rsa_onlycb_test(myCryptoDevCtx *ctx)
6435864387 if (tmp == NULL)
6435964388 ERROR_OUT(WC_TEST_RET_ENC_ERRNO, exit_onlycb);
6436064389#endif
64390+ #if !defined(WOLFSSL_NO_MALLOC)
6436164391 out = (byte*)XMALLOC(RSA_TEST_BYTES, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
6436264392 if (out == NULL)
6436364393 ERROR_OUT(WC_TEST_RET_ENC_ERRNO, exit_onlycb);
64394+ #endif
6436464395
6436564396#ifdef USE_CERT_BUFFERS_1024
6436664397 XMEMCPY(tmp, client_key_der_1024, (size_t)sizeof_client_key_der_1024);
@@ -64454,7 +64485,9 @@ static wc_test_ret_t rsa_onlycb_test(myCryptoDevCtx *ctx)
6445464485#else
6445564486 wc_FreeRsaKey(key);
6445664487#endif
64488+ #if !defined(WOLFSSL_NO_MALLOC)
6445764489 XFREE(out, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
64490+ #endif
6445864491
6445964492#endif
6446064493 return ret;
0 commit comments