update rsa test to support no malloc

This commit is contained in:
John Bland
2024-03-25 13:43:55 -04:00
parent 4f51183b45
commit 9cd614fcac

View File

@ -2125,7 +2125,11 @@ static wc_test_ret_t _SaveDerAndPem(const byte* der, int derSz,
#if !defined(NO_FILESYSTEM) && !defined(NO_WRITE_TEMP_FILES) #if !defined(NO_FILESYSTEM) && !defined(NO_WRITE_TEMP_FILES)
XFILE pemFile; XFILE pemFile;
#endif #endif
#ifndef WOLFSSL_NO_MALLOC
byte* pem; byte* pem;
#else
byte pem[FOURK_BUF];
#endif
int pemSz; int pemSz;
/* calculate PEM size */ /* calculate PEM size */
@ -2133,10 +2137,15 @@ static wc_test_ret_t _SaveDerAndPem(const byte* der, int derSz,
if (pemSz < 0) { if (pemSz < 0) {
return WC_TEST_RET_ENC(calling_line, 2, WC_TEST_RET_TAG_I); return WC_TEST_RET_ENC(calling_line, 2, WC_TEST_RET_TAG_I);
} }
#ifndef WOLFSSL_NO_MALLOC
pem = (byte*)XMALLOC(pemSz, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); pem = (byte*)XMALLOC(pemSz, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
if (pem == NULL) { if (pem == NULL) {
return WC_TEST_RET_ENC(calling_line, 3, WC_TEST_RET_TAG_I); return WC_TEST_RET_ENC(calling_line, 3, WC_TEST_RET_TAG_I);
} }
#else
if (pemSz > (int)sizeof(pem))
return BAD_FUNC_ARG;
#endif
/* Convert to PEM */ /* Convert to PEM */
pemSz = wc_DerToPem(der, derSz, pem, pemSz, pemType); pemSz = wc_DerToPem(der, derSz, pem, pemSz, pemType);
if (pemSz < 0) { if (pemSz < 0) {
@ -18987,7 +18996,11 @@ static wc_test_ret_t rsa_keygen_test(WC_RNG* rng)
RsaKey genKey[1]; RsaKey genKey[1];
#endif #endif
wc_test_ret_t ret; wc_test_ret_t ret;
#ifndef WOLFSSL_NO_MALLOC
byte* der = NULL; byte* der = NULL;
#else
byte der[FOURK_BUF];
#endif
#ifndef WOLFSSL_CRYPTOCELL #ifndef WOLFSSL_CRYPTOCELL
word32 idx = 0; word32 idx = 0;
#endif #endif
@ -19032,11 +19045,12 @@ static wc_test_ret_t rsa_keygen_test(WC_RNG* rng)
if (ret != 0) if (ret != 0)
ERROR_OUT(WC_TEST_RET_ENC_EC(ret), exit_rsa); ERROR_OUT(WC_TEST_RET_ENC_EC(ret), exit_rsa);
#endif #endif
#ifndef WOLFSSL_NO_MALLOC
der = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); der = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
if (der == NULL) { if (der == NULL) {
ERROR_OUT(WC_TEST_RET_ENC_ERRNO, exit_rsa); ERROR_OUT(WC_TEST_RET_ENC_ERRNO, exit_rsa);
} }
#endif
derSz = wc_RsaKeyToDer(genKey, der, FOURK_BUF); derSz = wc_RsaKeyToDer(genKey, der, FOURK_BUF);
if (derSz < 0) { if (derSz < 0) {
ERROR_OUT(WC_TEST_RET_ENC_EC(derSz), exit_rsa); ERROR_OUT(WC_TEST_RET_ENC_EC(derSz), exit_rsa);
@ -19072,10 +19086,12 @@ exit_rsa:
wc_FreeRsaKey(genKey); wc_FreeRsaKey(genKey);
#endif #endif
#ifndef WOLFSSL_NO_MALLOC
if (der != NULL) { if (der != NULL) {
XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
der = NULL; der = NULL;
} }
#endif
return ret; return ret;
} }