mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 10:47:28 +02:00
update rsa test to support no malloc
This commit is contained in:
@ -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;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user