@@ -22737,15 +22737,22 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t decodedCertCache_test(void)
2273722737static wc_test_ret_t rsa_flatten_test(RsaKey* key)
2273822738{
2273922739 wc_test_ret_t ret;
22740+ #if !defined(WOLFSSL_NO_MALLOC)
2274022741 byte* e = NULL;
2274122742 byte* n = NULL;
22743+ #else
22744+ byte e[RSA_TEST_BYTES];
22745+ byte n[RSA_TEST_BYTES];
22746+ #endif
2274222747 word32 eSz = RSA_TEST_BYTES;
2274322748 word32 nSz = RSA_TEST_BYTES;
2274422749
22750+ #if !defined(WOLFSSL_NO_MALLOC)
2274522751 e = (byte*)XMALLOC(RSA_TEST_BYTES, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2274622752 n = (byte*)XMALLOC(RSA_TEST_BYTES, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2274722753 if (e == NULL || n == NULL)
2274822754 ERROR_OUT(WC_TEST_RET_ENC_EC(MEMORY_E), exit_rsa_flatten);
22755+ #endif
2274922756
2275022757 /* Parameter Validation testing. */
2275122758 ret = wc_RsaFlattenPublicKey(NULL, e, &eSz, n, &nSz);
@@ -22786,8 +22793,10 @@ static wc_test_ret_t rsa_flatten_test(RsaKey* key)
2278622793 ret = 0;
2278722794
2278822795exit_rsa_flatten:
22796+ #if !defined(WOLFSSL_NO_MALLOC)
2278922797 XFREE(e, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2279022798 XFREE(n, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
22799+ #endif
2279122800 return ret;
2279222801}
2279322802#endif /* NO_ASN */
@@ -22799,22 +22808,31 @@ static wc_test_ret_t rsa_export_key_test(RsaKey* key)
2279922808 wc_test_ret_t ret;
2280022809 byte e[3];
2280122810 word32 eSz = sizeof(e);
22811+ #if !defined(WOLFSSL_NO_MALLOC)
2280222812 byte* n = NULL;
22803- word32 nSz = RSA_TEST_BYTES;
2280422813 byte* d = NULL;
22805- word32 dSz = RSA_TEST_BYTES;
2280622814 byte* p = NULL;
22807- word32 pSz = RSA_TEST_BYTES/2;
2280822815 byte* q = NULL;
22816+ #else
22817+ byte n[RSA_TEST_BYTES];
22818+ byte d[RSA_TEST_BYTES];
22819+ byte p[RSA_TEST_BYTES/2];
22820+ byte q[RSA_TEST_BYTES/2];
22821+ #endif
22822+ word32 nSz = RSA_TEST_BYTES;
22823+ word32 dSz = RSA_TEST_BYTES;
22824+ word32 pSz = RSA_TEST_BYTES/2;
2280922825 word32 qSz = RSA_TEST_BYTES/2;
2281022826 word32 zero = 0;
2281122827
22828+ #if !defined(WOLFSSL_NO_MALLOC)
2281222829 n = (byte*)XMALLOC(RSA_TEST_BYTES, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2281322830 d = (byte*)XMALLOC(RSA_TEST_BYTES, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2281422831 p = (byte*)XMALLOC(RSA_TEST_BYTES/2, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2281522832 q = (byte*)XMALLOC(RSA_TEST_BYTES/2, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2281622833 if (n == NULL || d == NULL || p == NULL || q == NULL)
2281722834 ERROR_OUT(WC_TEST_RET_ENC_EC(MEMORY_E), exit_rsa_export);
22835+ #endif
2281822836
2281922837 ret = wc_RsaExportKey(NULL, e, &eSz, n, &nSz, d, &dSz, p, &pSz, q, &qSz);
2282022838 if (ret != WC_NO_ERR_TRACE(BAD_FUNC_ARG))
@@ -22875,10 +22893,12 @@ static wc_test_ret_t rsa_export_key_test(RsaKey* key)
2287522893 ret = 0;
2287622894
2287722895exit_rsa_export:
22896+ #if !defined(WOLFSSL_NO_MALLOC)
2287822897 XFREE(n, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2287922898 XFREE(d, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2288022899 XFREE(p, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2288122900 XFREE(q, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
22901+ #endif
2288222902 return ret;
2288322903}
2288422904#endif /* !HAVE_FIPS && !NO_ASN && !WOLFSSL_RSA_VERIFY_ONLY */
@@ -22907,11 +22927,14 @@ static wc_test_ret_t rsa_sig_test(RsaKey* key, word32 keyLen, int modLen, WC_RNG
2290722927 };
2290822928 word32 inLen = (word32)XSTRLEN((char*)in);
2290922929 word32 outSz = RSA_TEST_BYTES;
22930+ #if !defined(WOLFSSL_NO_MALLOC)
2291022931 byte* out = NULL;
22911-
2291222932 out = (byte*)XMALLOC(RSA_TEST_BYTES, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
2291322933 if (out == NULL)
2291422934 ERROR_OUT(WC_TEST_RET_ENC_EC(MEMORY_E), exit_rsa_sig);
22935+ #else
22936+ byte out[RSA_TEST_BYTES];
22937+ #endif
2291522938
2291622939 /* Parameter Validation testing. */
2291722940 ret = wc_SignatureGetSize(WC_SIGNATURE_TYPE_NONE, key, keyLen);
@@ -23078,7 +23101,9 @@ static wc_test_ret_t rsa_sig_test(RsaKey* key, word32 keyLen, int modLen, WC_RNG
2307823101 ret = 0;
2307923102
2308023103exit_rsa_sig:
23104+ #if !defined(WOLFSSL_NO_MALLOC)
2308123105 XFREE(out, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
23106+ #endif
2308223107 return ret;
2308323108}
2308423109#endif /* !NO_SIG_WRAPPER && !NO_SHA256 */
@@ -64285,7 +64310,11 @@ static wc_test_ret_t rsa_onlycb_test(myCryptoDevCtx *ctx)
6428564310
6428664311 word32 sigSz;
6428764312 WOLFSSL_SMALL_STACK_STATIC const byte in[] = TEST_STRING;
64313+ #if !defined(WOLFSSL_NO_MALLOC)
6428864314 byte* out = NULL;
64315+ #else
64316+ byte out[RSA_TEST_BYTES];
64317+ #endif
6428964318
6429064319#if !defined(USE_CERT_BUFFERS_1024) && !defined(USE_CERT_BUFFERS_2048) && \
6429164320 !defined(USE_CERT_BUFFERS_3072) && !defined(USE_CERT_BUFFERS_4096) && \
@@ -64323,9 +64352,11 @@ static wc_test_ret_t rsa_onlycb_test(myCryptoDevCtx *ctx)
6432364352 if (tmp == NULL)
6432464353 ERROR_OUT(WC_TEST_RET_ENC_ERRNO, exit_onlycb);
6432564354#endif
64355+ #if !defined(WOLFSSL_NO_MALLOC)
6432664356 out = (byte*)XMALLOC(RSA_TEST_BYTES, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
6432764357 if (out == NULL)
6432864358 ERROR_OUT(WC_TEST_RET_ENC_ERRNO, exit_onlycb);
64359+ #endif
6432964360
6433064361#ifdef USE_CERT_BUFFERS_1024
6433164362 XMEMCPY(tmp, client_key_der_1024, (size_t)sizeof_client_key_der_1024);
@@ -64419,7 +64450,9 @@ static wc_test_ret_t rsa_onlycb_test(myCryptoDevCtx *ctx)
6441964450#else
6442064451 wc_FreeRsaKey(key);
6442164452#endif
64453+ #if !defined(WOLFSSL_NO_MALLOC)
6442264454 XFREE(out, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
64455+ #endif
6442364456
6442464457#endif
6442564458 return ret;
0 commit comments