Merge pull request #704 from SparkiDev/memfail

Fixes from failure testing
This commit is contained in:
toddouska
2017-01-17 12:53:56 -08:00
committed by GitHub
10 changed files with 295 additions and 33 deletions

View File

@@ -1086,14 +1086,17 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#ifdef SINGLE_THREADED #ifdef SINGLE_THREADED
if (wolfSSL_CTX_new_rng(ctx) != SSL_SUCCESS) { if (wolfSSL_CTX_new_rng(ctx) != SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("Single Threaded new rng at CTX failed"); err_sys("Single Threaded new rng at CTX failed");
} }
#endif #endif
if (cipherList) { if (cipherList) {
if (wolfSSL_CTX_set_cipher_list(ctx, cipherList) != SSL_SUCCESS) if (wolfSSL_CTX_set_cipher_list(ctx, cipherList) != SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("client can't set cipher list 1"); err_sys("client can't set cipher list 1");
} }
}
#ifdef WOLFSSL_LEANPSK #ifdef WOLFSSL_LEANPSK
if (!usePsk) { if (!usePsk) {
@@ -1127,9 +1130,11 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
defaultCipherList = "PSK-AES128-CBC-SHA256"; defaultCipherList = "PSK-AES128-CBC-SHA256";
#endif #endif
if (wolfSSL_CTX_set_cipher_list(ctx,defaultCipherList) if (wolfSSL_CTX_set_cipher_list(ctx,defaultCipherList)
!=SSL_SUCCESS) !=SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("client can't set cipher list 2"); err_sys("client can't set cipher list 2");
} }
}
#endif #endif
if (useClientCert) { if (useClientCert) {
useClientCert = 0; useClientCert = 0;
@@ -1140,9 +1145,12 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#ifdef HAVE_ANON #ifdef HAVE_ANON
if (cipherList == NULL) { if (cipherList == NULL) {
wolfSSL_CTX_allow_anon_cipher(ctx); wolfSSL_CTX_allow_anon_cipher(ctx);
if (wolfSSL_CTX_set_cipher_list(ctx,"ADH-AES128-SHA") != SSL_SUCCESS) if (wolfSSL_CTX_set_cipher_list(ctx,"ADH-AES128-SHA")
!= SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("client can't set cipher list 4"); err_sys("client can't set cipher list 4");
} }
}
#endif #endif
if (useClientCert) { if (useClientCert) {
useClientCert = 0; useClientCert = 0;
@@ -1162,6 +1170,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
if (cipherList == NULL) { if (cipherList == NULL) {
/* don't use EDH, can't sniff tmp keys */ /* don't use EDH, can't sniff tmp keys */
if (wolfSSL_CTX_set_cipher_list(ctx, "AES128-SHA") != SSL_SUCCESS) { if (wolfSSL_CTX_set_cipher_list(ctx, "AES128-SHA") != SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("client can't set cipher list 3"); err_sys("client can't set cipher list 3");
} }
} }
@@ -1189,14 +1198,19 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#if !defined(NO_CERTS) #if !defined(NO_CERTS)
if (useClientCert){ if (useClientCert){
#if !defined(NO_FILESYSTEM) #if !defined(NO_FILESYSTEM)
if (wolfSSL_CTX_use_certificate_chain_file(ctx, ourCert) != SSL_SUCCESS) if (wolfSSL_CTX_use_certificate_chain_file(ctx, ourCert)
!= SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("can't load client cert file, check file and run from" err_sys("can't load client cert file, check file and run from"
" wolfSSL home dir"); " wolfSSL home dir");
}
if (wolfSSL_CTX_use_PrivateKey_file(ctx, ourKey, SSL_FILETYPE_PEM) if (wolfSSL_CTX_use_PrivateKey_file(ctx, ourKey, SSL_FILETYPE_PEM)
!= SSL_SUCCESS) != SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("can't load client private key file, check file and run " err_sys("can't load client private key file, check file and run "
"from wolfSSL home dir"); "from wolfSSL home dir");
}
#else #else
load_buffer(ctx, ourCert, WOLFSSL_CERT_CHAIN); load_buffer(ctx, ourCert, WOLFSSL_CERT_CHAIN);
load_buffer(ctx, ourKey, WOLFSSL_KEY); load_buffer(ctx, ourKey, WOLFSSL_KEY);
@@ -1205,16 +1219,21 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
if (!usePsk && !useAnon) { if (!usePsk && !useAnon) {
#if !defined(NO_FILESYSTEM) #if !defined(NO_FILESYSTEM)
if (wolfSSL_CTX_load_verify_locations(ctx, verifyCert,0) != SSL_SUCCESS) if (wolfSSL_CTX_load_verify_locations(ctx, verifyCert,0)
!= SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("can't load ca file, Please run from wolfSSL home dir"); err_sys("can't load ca file, Please run from wolfSSL home dir");
}
#else #else
load_buffer(ctx, verifyCert, WOLFSSL_CA); load_buffer(ctx, verifyCert, WOLFSSL_CA);
#endif /* !defined(NO_FILESYSTEM) */ #endif /* !defined(NO_FILESYSTEM) */
#ifdef HAVE_ECC #ifdef HAVE_ECC
/* load ecc verify too, echoserver uses it by default w/ ecc */ /* load ecc verify too, echoserver uses it by default w/ ecc */
#if !defined(NO_FILESYSTEM) #if !defined(NO_FILESYSTEM)
if (wolfSSL_CTX_load_verify_locations(ctx, eccCert, 0) != SSL_SUCCESS) if (wolfSSL_CTX_load_verify_locations(ctx, eccCert, 0) != SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("can't load ecc ca file, Please run from wolfSSL home dir"); err_sys("can't load ecc ca file, Please run from wolfSSL home dir");
}
#else #else
load_buffer(ctx, eccCert, WOLFSSL_CA); load_buffer(ctx, eccCert, WOLFSSL_CA);
#endif /* !defined(NO_FILESYSTEM) */ #endif /* !defined(NO_FILESYSTEM) */
@@ -1223,6 +1242,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
if (trustCert) { if (trustCert) {
if ((ret = wolfSSL_CTX_trust_peer_cert(ctx, trustCert, if ((ret = wolfSSL_CTX_trust_peer_cert(ctx, trustCert,
SSL_FILETYPE_PEM)) != SSL_SUCCESS) { SSL_FILETYPE_PEM)) != SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("can't load trusted peer cert file"); err_sys("can't load trusted peer cert file");
} }
} }
@@ -1237,6 +1257,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#ifdef WOLFSSL_ASYNC_CRYPT #ifdef WOLFSSL_ASYNC_CRYPT
ret = wolfAsync_DevOpen(&devId); ret = wolfAsync_DevOpen(&devId);
if (ret != 0) { if (ret != 0) {
wolfSSL_CTX_free(ctx);
err_sys("Async device open failed"); err_sys("Async device open failed");
} }
wolfSSL_CTX_UseAsync(ctx, devId); wolfSSL_CTX_UseAsync(ctx, devId);
@@ -1245,27 +1266,37 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#ifdef HAVE_SNI #ifdef HAVE_SNI
if (sniHostName) if (sniHostName)
if (wolfSSL_CTX_UseSNI(ctx, 0, sniHostName, XSTRLEN(sniHostName)) if (wolfSSL_CTX_UseSNI(ctx, 0, sniHostName, XSTRLEN(sniHostName))
!= SSL_SUCCESS) != SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("UseSNI failed"); err_sys("UseSNI failed");
}
#endif #endif
#ifdef HAVE_MAX_FRAGMENT #ifdef HAVE_MAX_FRAGMENT
if (maxFragment) if (maxFragment)
if (wolfSSL_CTX_UseMaxFragment(ctx, maxFragment) != SSL_SUCCESS) if (wolfSSL_CTX_UseMaxFragment(ctx, maxFragment) != SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("UseMaxFragment failed"); err_sys("UseMaxFragment failed");
}
#endif #endif
#ifdef HAVE_TRUNCATED_HMAC #ifdef HAVE_TRUNCATED_HMAC
if (truncatedHMAC) if (truncatedHMAC)
if (wolfSSL_CTX_UseTruncatedHMAC(ctx) != SSL_SUCCESS) if (wolfSSL_CTX_UseTruncatedHMAC(ctx) != SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("UseTruncatedHMAC failed"); err_sys("UseTruncatedHMAC failed");
}
#endif #endif
#ifdef HAVE_SESSION_TICKET #ifdef HAVE_SESSION_TICKET
if (wolfSSL_CTX_UseSessionTicket(ctx) != SSL_SUCCESS) if (wolfSSL_CTX_UseSessionTicket(ctx) != SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("UseSessionTicket failed"); err_sys("UseSessionTicket failed");
}
#endif #endif
#ifdef HAVE_EXTENDED_MASTER #ifdef HAVE_EXTENDED_MASTER
if (disableExtMasterSecret) if (disableExtMasterSecret)
if (wolfSSL_CTX_DisableExtendedMasterSecret(ctx) != SSL_SUCCESS) if (wolfSSL_CTX_DisableExtendedMasterSecret(ctx) != SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("DisableExtendedMasterSecret failed"); err_sys("DisableExtendedMasterSecret failed");
}
#endif #endif
if (benchmark) { if (benchmark) {
@@ -1290,16 +1321,20 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#if defined(OPENSSL_EXTRA) #if defined(OPENSSL_EXTRA)
if (wolfSSL_CTX_get_read_ahead(ctx) != 0) { if (wolfSSL_CTX_get_read_ahead(ctx) != 0) {
wolfSSL_CTX_free(ctx);
err_sys("bad read ahead default value"); err_sys("bad read ahead default value");
} }
if (wolfSSL_CTX_set_read_ahead(ctx, 1) != SSL_SUCCESS) { if (wolfSSL_CTX_set_read_ahead(ctx, 1) != SSL_SUCCESS) {
wolfSSL_CTX_free(ctx);
err_sys("error setting read ahead value"); err_sys("error setting read ahead value");
} }
#endif #endif
ssl = wolfSSL_new(ctx); ssl = wolfSSL_new(ctx);
if (ssl == NULL) if (ssl == NULL) {
wolfSSL_CTX_free(ctx);
err_sys("unable to get SSL object"); err_sys("unable to get SSL object");
}
#ifdef OPENSSL_EXTRA #ifdef OPENSSL_EXTRA
wolfSSL_KeepArrays(ssl); wolfSSL_KeepArrays(ssl);
@@ -1308,26 +1343,38 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#ifdef HAVE_SUPPORTED_CURVES /* add curves to supported curves extension */ #ifdef HAVE_SUPPORTED_CURVES /* add curves to supported curves extension */
if (wolfSSL_UseSupportedCurve(ssl, WOLFSSL_ECC_SECP256R1) if (wolfSSL_UseSupportedCurve(ssl, WOLFSSL_ECC_SECP256R1)
!= SSL_SUCCESS) { != SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("unable to set curve secp256r1"); err_sys("unable to set curve secp256r1");
} }
if (wolfSSL_UseSupportedCurve(ssl, WOLFSSL_ECC_SECP384R1) if (wolfSSL_UseSupportedCurve(ssl, WOLFSSL_ECC_SECP384R1)
!= SSL_SUCCESS) { != SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("unable to set curve secp384r1"); err_sys("unable to set curve secp384r1");
} }
if (wolfSSL_UseSupportedCurve(ssl, WOLFSSL_ECC_SECP521R1) if (wolfSSL_UseSupportedCurve(ssl, WOLFSSL_ECC_SECP521R1)
!= SSL_SUCCESS) { != SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("unable to set curve secp521r1"); err_sys("unable to set curve secp521r1");
} }
if (wolfSSL_UseSupportedCurve(ssl, WOLFSSL_ECC_SECP224R1) if (wolfSSL_UseSupportedCurve(ssl, WOLFSSL_ECC_SECP224R1)
!= SSL_SUCCESS) { != SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("unable to set curve secp224r1"); err_sys("unable to set curve secp224r1");
} }
if (wolfSSL_UseSupportedCurve(ssl, WOLFSSL_ECC_SECP192R1) if (wolfSSL_UseSupportedCurve(ssl, WOLFSSL_ECC_SECP192R1)
!= SSL_SUCCESS) { != SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("unable to set curve secp192r1"); err_sys("unable to set curve secp192r1");
} }
if (wolfSSL_UseSupportedCurve(ssl, WOLFSSL_ECC_SECP160R1) if (wolfSSL_UseSupportedCurve(ssl, WOLFSSL_ECC_SECP160R1)
!= SSL_SUCCESS) { != SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("unable to set curve secp160r1"); err_sys("unable to set curve secp160r1");
} }
#endif #endif
@@ -1347,8 +1394,11 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
switch (statusRequest) { switch (statusRequest) {
case WOLFSSL_CSR_OCSP: case WOLFSSL_CSR_OCSP:
if (wolfSSL_UseOCSPStapling(ssl, WOLFSSL_CSR_OCSP, if (wolfSSL_UseOCSPStapling(ssl, WOLFSSL_CSR_OCSP,
WOLFSSL_CSR_OCSP_USE_NONCE) != SSL_SUCCESS) WOLFSSL_CSR_OCSP_USE_NONCE) != SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("UseCertificateStatusRequest failed"); err_sys("UseCertificateStatusRequest failed");
}
break; break;
} }
@@ -1362,14 +1412,20 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
case WOLFSSL_CSR2_OCSP: case WOLFSSL_CSR2_OCSP:
if (wolfSSL_UseOCSPStaplingV2(ssl, if (wolfSSL_UseOCSPStaplingV2(ssl,
WOLFSSL_CSR2_OCSP, WOLFSSL_CSR2_OCSP_USE_NONCE) WOLFSSL_CSR2_OCSP, WOLFSSL_CSR2_OCSP_USE_NONCE)
!= SSL_SUCCESS) != SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("UseCertificateStatusRequest failed"); err_sys("UseCertificateStatusRequest failed");
}
break; break;
case WOLFSSL_CSR2_OCSP_MULTI: case WOLFSSL_CSR2_OCSP_MULTI:
if (wolfSSL_UseOCSPStaplingV2(ssl, if (wolfSSL_UseOCSPStaplingV2(ssl,
WOLFSSL_CSR2_OCSP_MULTI, 0) WOLFSSL_CSR2_OCSP_MULTI, 0)
!= SSL_SUCCESS) != SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("UseCertificateStatusRequest failed"); err_sys("UseCertificateStatusRequest failed");
}
break; break;
} }
@@ -1380,31 +1436,48 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
tcp_connect(&sockfd, host, port, dtlsUDP, dtlsSCTP, ssl); tcp_connect(&sockfd, host, port, dtlsUDP, dtlsSCTP, ssl);
if (wolfSSL_set_fd(ssl, sockfd) != SSL_SUCCESS) { if (wolfSSL_set_fd(ssl, sockfd) != SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("error in setting fd"); err_sys("error in setting fd");
} }
/* STARTTLS */ /* STARTTLS */
if (doSTARTTLS) { if (doSTARTTLS) {
if (StartTLS_Init(&sockfd) != SSL_SUCCESS) { if (StartTLS_Init(&sockfd) != SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("error during STARTTLS protocol"); err_sys("error during STARTTLS protocol");
} }
} }
#ifdef HAVE_CRL #ifdef HAVE_CRL
if (disableCRL == 0) { if (disableCRL == 0) {
if (wolfSSL_EnableCRL(ssl, WOLFSSL_CRL_CHECKALL) != SSL_SUCCESS) if (wolfSSL_EnableCRL(ssl, WOLFSSL_CRL_CHECKALL) != SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("can't enable crl check"); err_sys("can't enable crl check");
if (wolfSSL_LoadCRL(ssl, crlPemDir, SSL_FILETYPE_PEM, 0) != SSL_SUCCESS) }
if (wolfSSL_LoadCRL(ssl, crlPemDir, SSL_FILETYPE_PEM, 0)
!= SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("can't load crl, check crlfile and date validity"); err_sys("can't load crl, check crlfile and date validity");
if (wolfSSL_SetCRL_Cb(ssl, CRL_CallBack) != SSL_SUCCESS) }
if (wolfSSL_SetCRL_Cb(ssl, CRL_CallBack) != SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("can't set crl callback"); err_sys("can't set crl callback");
} }
}
#endif #endif
#ifdef HAVE_SECURE_RENEGOTIATION #ifdef HAVE_SECURE_RENEGOTIATION
if (scr) { if (scr) {
if (wolfSSL_UseSecureRenegotiation(ssl) != SSL_SUCCESS) if (wolfSSL_UseSecureRenegotiation(ssl) != SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("can't enable secure renegotiation"); err_sys("can't enable secure renegotiation");
} }
}
#endif #endif
#ifdef ATOMIC_USER #ifdef ATOMIC_USER
if (atomicUser) if (atomicUser)
@@ -1440,6 +1513,8 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
if (ret != SSL_SUCCESS) { if (ret != SSL_SUCCESS) {
char buffer[WOLFSSL_MAX_ERROR_SZ]; char buffer[WOLFSSL_MAX_ERROR_SZ];
printf("err = %d, %s\n", err, wolfSSL_ERR_error_string(err, buffer)); printf("err = %d, %s\n", err, wolfSSL_ERR_error_string(err, buffer));
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("wolfSSL_connect failed"); err_sys("wolfSSL_connect failed");
/* see note at top of README */ /* see note at top of README */
/* if you're getting an error here */ /* if you're getting an error here */
@@ -1461,17 +1536,23 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
/* get size of buffer then print */ /* get size of buffer then print */
size = wolfSSL_get_client_random(NULL, NULL, 0); size = wolfSSL_get_client_random(NULL, NULL, 0);
if (size == 0) { if (size == 0) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("error getting client random buffer size"); err_sys("error getting client random buffer size");
} }
rnd = (byte*)XMALLOC(size, NULL, DYNAMIC_TYPE_TMP_BUFFER); rnd = (byte*)XMALLOC(size, NULL, DYNAMIC_TYPE_TMP_BUFFER);
if (rnd == NULL) { if (rnd == NULL) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("error creating client random buffer"); err_sys("error creating client random buffer");
} }
size = wolfSSL_get_client_random(ssl, rnd, size); size = wolfSSL_get_client_random(ssl, rnd, size);
if (size == 0) { if (size == 0) {
XFREE(rnd, NULL, DYNAMIC_TYPE_TMP_BUFFER); XFREE(rnd, NULL, DYNAMIC_TYPE_TMP_BUFFER);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("error getting client random buffer"); err_sys("error getting client random buffer");
} }
@@ -1485,6 +1566,8 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
if (doSTARTTLS) { if (doSTARTTLS) {
if (XSTRNCMP(starttlsProt, "smtp", 4) == 0) { if (XSTRNCMP(starttlsProt, "smtp", 4) == 0) {
if (SMTP_Shutdown(ssl, wc_shutdown) != SSL_SUCCESS) { if (SMTP_Shutdown(ssl, wc_shutdown) != SSL_SUCCESS) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("error closing STARTTLS connection"); err_sys("error closing STARTTLS connection");
} }
} }
@@ -1525,6 +1608,8 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
err = wolfSSL_get_error(ssl, 0); err = wolfSSL_get_error(ssl, 0);
printf("err = %d, %s\n", err, printf("err = %d, %s\n", err,
wolfSSL_ERR_error_string(err, buffer)); wolfSSL_ERR_error_string(err, buffer));
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("wolfSSL_Rehandshake failed"); err_sys("wolfSSL_Rehandshake failed");
} }
} }
@@ -1552,8 +1637,11 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
sleep(1); sleep(1);
#endif #endif
#endif /* WOLFSSL_SESSION_EXPORT_DEBUG */ #endif /* WOLFSSL_SESSION_EXPORT_DEBUG */
if (wolfSSL_write(ssl, msg, msgSz) != msgSz) if (wolfSSL_write(ssl, msg, msgSz) != msgSz) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("SSL_write failed"); err_sys("SSL_write failed");
}
input = wolfSSL_read(ssl, reply, sizeof(reply)-1); input = wolfSSL_read(ssl, reply, sizeof(reply)-1);
if (input > 0) { if (input > 0) {
@@ -1576,6 +1664,8 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
int readErr = wolfSSL_get_error(ssl, 0); int readErr = wolfSSL_get_error(ssl, 0);
if (readErr != SSL_ERROR_WANT_READ) { if (readErr != SSL_ERROR_WANT_READ) {
printf("wolfSSL_read error %d!\n", readErr); printf("wolfSSL_read error %d!\n", readErr);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("wolfSSL_read failed"); err_sys("wolfSSL_read failed");
} }
} }
@@ -1584,9 +1674,12 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
if (resumeSession) { if (resumeSession) {
session = wolfSSL_get_session(ssl); session = wolfSSL_get_session(ssl);
sslResume = wolfSSL_new(ctx); sslResume = wolfSSL_new(ctx);
if (sslResume == NULL) if (sslResume == NULL) {
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
err_sys("unable to get SSL object"); err_sys("unable to get SSL object");
} }
}
#endif #endif
if (dtlsUDP == 0) { /* don't send alert after "break" command */ if (dtlsUDP == 0) { /* don't send alert after "break" command */
@@ -1614,6 +1707,8 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
} }
tcp_connect(&sockfd, host, port, dtlsUDP, dtlsSCTP, sslResume); tcp_connect(&sockfd, host, port, dtlsUDP, dtlsSCTP, sslResume);
if (wolfSSL_set_fd(sslResume, sockfd) != SSL_SUCCESS) { if (wolfSSL_set_fd(sslResume, sockfd) != SSL_SUCCESS) {
wolfSSL_free(sslResume);
wolfSSL_CTX_free(ctx);
err_sys("error in setting fd"); err_sys("error in setting fd");
} }
#ifdef HAVE_ALPN #ifdef HAVE_ALPN
@@ -1625,9 +1720,12 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#endif #endif
#ifdef HAVE_SECURE_RENEGOTIATION #ifdef HAVE_SECURE_RENEGOTIATION
if (scr) { if (scr) {
if (wolfSSL_UseSecureRenegotiation(sslResume) != SSL_SUCCESS) if (wolfSSL_UseSecureRenegotiation(sslResume) != SSL_SUCCESS) {
wolfSSL_free(sslResume);
wolfSSL_CTX_free(ctx);
err_sys("can't enable secure renegotiation"); err_sys("can't enable secure renegotiation");
} }
}
#endif #endif
wolfSSL_set_session(sslResume, session); wolfSSL_set_session(sslResume, session);
#ifdef HAVE_SESSION_TICKET #ifdef HAVE_SESSION_TICKET
@@ -1637,26 +1735,38 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#ifdef HAVE_SUPPORTED_CURVES /* add curves to supported curves extension */ #ifdef HAVE_SUPPORTED_CURVES /* add curves to supported curves extension */
if (wolfSSL_UseSupportedCurve(sslResume, WOLFSSL_ECC_SECP256R1) if (wolfSSL_UseSupportedCurve(sslResume, WOLFSSL_ECC_SECP256R1)
!= SSL_SUCCESS) { != SSL_SUCCESS) {
wolfSSL_free(sslResume);
wolfSSL_CTX_free(ctx);
err_sys("unable to set curve secp256r1"); err_sys("unable to set curve secp256r1");
} }
if (wolfSSL_UseSupportedCurve(sslResume, WOLFSSL_ECC_SECP384R1) if (wolfSSL_UseSupportedCurve(sslResume, WOLFSSL_ECC_SECP384R1)
!= SSL_SUCCESS) { != SSL_SUCCESS) {
wolfSSL_free(sslResume);
wolfSSL_CTX_free(ctx);
err_sys("unable to set curve secp384r1"); err_sys("unable to set curve secp384r1");
} }
if (wolfSSL_UseSupportedCurve(sslResume, WOLFSSL_ECC_SECP521R1) if (wolfSSL_UseSupportedCurve(sslResume, WOLFSSL_ECC_SECP521R1)
!= SSL_SUCCESS) { != SSL_SUCCESS) {
wolfSSL_free(sslResume);
wolfSSL_CTX_free(ctx);
err_sys("unable to set curve secp521r1"); err_sys("unable to set curve secp521r1");
} }
if (wolfSSL_UseSupportedCurve(sslResume, WOLFSSL_ECC_SECP224R1) if (wolfSSL_UseSupportedCurve(sslResume, WOLFSSL_ECC_SECP224R1)
!= SSL_SUCCESS) { != SSL_SUCCESS) {
wolfSSL_free(sslResume);
wolfSSL_CTX_free(ctx);
err_sys("unable to set curve secp224r1"); err_sys("unable to set curve secp224r1");
} }
if (wolfSSL_UseSupportedCurve(sslResume, WOLFSSL_ECC_SECP192R1) if (wolfSSL_UseSupportedCurve(sslResume, WOLFSSL_ECC_SECP192R1)
!= SSL_SUCCESS) { != SSL_SUCCESS) {
wolfSSL_free(sslResume);
wolfSSL_CTX_free(ctx);
err_sys("unable to set curve secp192r1"); err_sys("unable to set curve secp192r1");
} }
if (wolfSSL_UseSupportedCurve(sslResume, WOLFSSL_ECC_SECP160R1) if (wolfSSL_UseSupportedCurve(sslResume, WOLFSSL_ECC_SECP160R1)
!= SSL_SUCCESS) { != SSL_SUCCESS) {
wolfSSL_free(sslResume);
wolfSSL_CTX_free(ctx);
err_sys("unable to set curve secp160r1"); err_sys("unable to set curve secp160r1");
} }
#endif #endif
@@ -1667,8 +1777,11 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
tcp_set_nonblocking(&sockfd); tcp_set_nonblocking(&sockfd);
NonBlockingSSL_Connect(sslResume); NonBlockingSSL_Connect(sslResume);
} }
else if (wolfSSL_connect(sslResume) != SSL_SUCCESS) else if (wolfSSL_connect(sslResume) != SSL_SUCCESS) {
wolfSSL_free(sslResume);
wolfSSL_CTX_free(ctx);
err_sys("SSL resume failed"); err_sys("SSL resume failed");
}
#else #else
timeout.tv_sec = 2; timeout.tv_sec = 2;
timeout.tv_usec = 0; timeout.tv_usec = 0;
@@ -1710,8 +1823,11 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#endif #endif
#endif /* WOLFSSL_SESSION_EXPORT_DEBUG */ #endif /* WOLFSSL_SESSION_EXPORT_DEBUG */
if (wolfSSL_write(sslResume, resumeMsg, resumeSz) != resumeSz) if (wolfSSL_write(sslResume, resumeMsg, resumeSz) != resumeSz) {
wolfSSL_free(sslResume);
wolfSSL_CTX_free(ctx);
err_sys("SSL_write failed"); err_sys("SSL_write failed");
}
if (nonBlocking) { if (nonBlocking) {
/* give server a chance to bounce a message back to client */ /* give server a chance to bounce a message back to client */
@@ -1742,9 +1858,11 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
} }
} }
} else if (input < 0) { } else if (input < 0) {
int readErr = wolfSSL_get_error(ssl, 0); int readErr = wolfSSL_get_error(sslResume, 0);
if (readErr != SSL_ERROR_WANT_READ) { if (readErr != SSL_ERROR_WANT_READ) {
printf("wolfSSL_read error %d!\n", readErr); printf("wolfSSL_read error %d!\n", readErr);
wolfSSL_free(sslResume);
wolfSSL_CTX_free(ctx);
err_sys("wolfSSL_read failed"); err_sys("wolfSSL_read failed");
} }
} }

View File

@@ -3573,6 +3573,7 @@ int InitSSL(WOLFSSL* ssl, WOLFSSL_CTX* ctx)
WOLFSSL_MSG("RNG Memory error"); WOLFSSL_MSG("RNG Memory error");
return MEMORY_E; return MEMORY_E;
} }
XMEMSET(ssl->rng, 0, sizeof(WC_RNG));
ssl->options.weOwnRng = 1; ssl->options.weOwnRng = 1;
/* FIPS RNG API does not accept a heap hint */ /* FIPS RNG API does not accept a heap hint */

View File

@@ -422,6 +422,10 @@ int wolfSSL_set_fd(WOLFSSL* ssl, int fd)
WOLFSSL_ENTER("SSL_set_fd"); WOLFSSL_ENTER("SSL_set_fd");
if (ssl == NULL) {
return BAD_FUNC_ARG;
}
ret = wolfSSL_set_read_fd(ssl, fd); ret = wolfSSL_set_read_fd(ssl, fd);
if (ret == SSL_SUCCESS) { if (ret == SSL_SUCCESS) {
ret = wolfSSL_set_write_fd(ssl, fd); ret = wolfSSL_set_write_fd(ssl, fd);
@@ -988,10 +992,14 @@ int wolfSSL_SetTmpDH(WOLFSSL* ssl, const unsigned char* p, int pSz,
if (ssl->options.side != WOLFSSL_SERVER_END) if (ssl->options.side != WOLFSSL_SERVER_END)
return SIDE_ERROR; return SIDE_ERROR;
if (ssl->buffers.serverDH_P.buffer && ssl->buffers.weOwnDH) if (ssl->buffers.serverDH_P.buffer && ssl->buffers.weOwnDH) {
XFREE(ssl->buffers.serverDH_P.buffer, ssl->heap, DYNAMIC_TYPE_DH); XFREE(ssl->buffers.serverDH_P.buffer, ssl->heap, DYNAMIC_TYPE_DH);
if (ssl->buffers.serverDH_G.buffer && ssl->buffers.weOwnDH) ssl->buffers.serverDH_P.buffer = NULL;
}
if (ssl->buffers.serverDH_G.buffer && ssl->buffers.weOwnDH) {
XFREE(ssl->buffers.serverDH_G.buffer, ssl->heap, DYNAMIC_TYPE_DH); XFREE(ssl->buffers.serverDH_G.buffer, ssl->heap, DYNAMIC_TYPE_DH);
ssl->buffers.serverDH_G.buffer = NULL;
}
ssl->buffers.weOwnDH = 1; /* SSL owns now */ ssl->buffers.weOwnDH = 1; /* SSL owns now */
ssl->buffers.serverDH_P.buffer = (byte*)XMALLOC(pSz, ssl->heap, ssl->buffers.serverDH_P.buffer = (byte*)XMALLOC(pSz, ssl->heap,
@@ -1003,6 +1011,7 @@ int wolfSSL_SetTmpDH(WOLFSSL* ssl, const unsigned char* p, int pSz,
DYNAMIC_TYPE_DH); DYNAMIC_TYPE_DH);
if (ssl->buffers.serverDH_G.buffer == NULL) { if (ssl->buffers.serverDH_G.buffer == NULL) {
XFREE(ssl->buffers.serverDH_P.buffer, ssl->heap, DYNAMIC_TYPE_DH); XFREE(ssl->buffers.serverDH_P.buffer, ssl->heap, DYNAMIC_TYPE_DH);
ssl->buffers.serverDH_P.buffer = NULL;
return MEMORY_E; return MEMORY_E;
} }
@@ -4335,6 +4344,7 @@ int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff,
if (DecodeToKey(cert, 0) < 0) { if (DecodeToKey(cert, 0) < 0) {
WOLFSSL_MSG("Decode to key failed"); WOLFSSL_MSG("Decode to key failed");
FreeDecodedCert(cert);
#ifdef WOLFSSL_SMALL_STACK #ifdef WOLFSSL_SMALL_STACK
XFREE(cert, heap, DYNAMIC_TYPE_TMP_BUFFER); XFREE(cert, heap, DYNAMIC_TYPE_TMP_BUFFER);
#endif #endif
@@ -7674,6 +7684,9 @@ int wolfSSL_DTLS_SetCookieSecret(WOLFSSL* ssl,
errno = 0; errno = 0;
#endif #endif
if (ssl == NULL)
return BAD_FUNC_ARG;
if (ssl->options.side != WOLFSSL_CLIENT_END) { if (ssl->options.side != WOLFSSL_CLIENT_END) {
WOLFSSL_ERROR(ssl->error = SIDE_ERROR); WOLFSSL_ERROR(ssl->error = SIDE_ERROR);
return SSL_FATAL_ERROR; return SSL_FATAL_ERROR;

View File

@@ -1937,6 +1937,8 @@ int wc_AesSetKey(Aes* aes, const byte* userKey, word32 keylen,
const word32 max_key_len = (AES_MAX_KEY_SIZE / 8); const word32 max_key_len = (AES_MAX_KEY_SIZE / 8);
#endif #endif
if (aes == NULL)
return BAD_FUNC_ARG;
if (!((keylen == 16) || (keylen == 24) || (keylen == 32))) if (!((keylen == 16) || (keylen == 24) || (keylen == 32)))
return BAD_FUNC_ARG; return BAD_FUNC_ARG;

View File

@@ -2481,6 +2481,7 @@ void InitDecodedCert(DecodedCert* cert, byte* source, word32 inSz, void* heap)
cert->publicKey = 0; cert->publicKey = 0;
cert->pubKeySize = 0; cert->pubKeySize = 0;
cert->pubKeyStored = 0; cert->pubKeyStored = 0;
cert->keyOID = 0;
cert->version = 0; cert->version = 0;
cert->signature = 0; cert->signature = 0;
cert->subjectCN = 0; cert->subjectCN = 0;

View File

@@ -132,7 +132,7 @@ int wc_HmacSizeByType(int type)
return SHA_DIGEST_SIZE; return SHA_DIGEST_SIZE;
#endif #endif
#ifdef WOLF_SHA224 #ifdef WOLFSSL_SHA224
case SHA224: case SHA224:
return SHA224_DIGEST_SIZE; return SHA224_DIGEST_SIZE;
#endif #endif

View File

@@ -1465,7 +1465,7 @@ static int wc_PKCS7_KariGenerateKEK(WC_PKCS7_KARI* kari,
kdfType = WC_HASH_TYPE_SHA; kdfType = WC_HASH_TYPE_SHA;
break; break;
#endif #endif
#ifndef WOLF_SHA224 #ifndef WOLFSSL_SHA224
case dhSinglePass_stdDH_sha224kdf_scheme: case dhSinglePass_stdDH_sha224kdf_scheme:
kdfType = WC_HASH_TYPE_SHA224; kdfType = WC_HASH_TYPE_SHA224;
break; break;

View File

@@ -834,6 +834,7 @@ int wc_InitRng(WC_RNG* rng)
junk = (byte*)XMALLOC(256, NULL, DYNAMIC_TYPE_TMP_BUFFER); junk = (byte*)XMALLOC(256, NULL, DYNAMIC_TYPE_TMP_BUFFER);
if (junk == NULL) { if (junk == NULL) {
XFREE(key, NULL, DYNAMIC_TYPE_TMP_BUFFER); XFREE(key, NULL, DYNAMIC_TYPE_TMP_BUFFER);
key = NULL;
return MEMORY_E; return MEMORY_E;
} }
#endif #endif

View File

@@ -707,7 +707,7 @@ static int RsaUnPad_OAEP(byte *pkcsBlock, unsigned int pkcsBlockLen,
/* find seedMask value */ /* find seedMask value */
if ((ret = RsaMGF(mgf, (byte*)(pkcsBlock + (hLen + 1)), if ((ret = RsaMGF(mgf, (byte*)(pkcsBlock + (hLen + 1)),
pkcsBlockLen - hLen - 1, tmp, hLen, heap)) != 0) { pkcsBlockLen - hLen - 1, tmp, hLen, heap)) != 0) {
XFREE(tmp, NULL, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, heap, DYNAMIC_TYPE_TMP_BUFFER);
return ret; return ret;
} }

View File

@@ -4794,6 +4794,7 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT ,DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT ,DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -43; return -43;
} }
@@ -4803,6 +4804,7 @@ int rsa_test(void)
ret = wc_RsaSetRNG(&key, &rng); ret = wc_RsaSetRNG(&key, &rng);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT ,DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT ,DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -843; return -843;
} }
ret = tmpret; ret = tmpret;
@@ -4820,11 +4822,13 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT ,DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT ,DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -44; return -44;
} }
if (XMEMCMP(plain, in, inLen)) { if (XMEMCMP(plain, in, inLen)) {
XFREE(tmp, HEAP_HINT ,DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT ,DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -45; return -45;
} }
@@ -4838,6 +4842,7 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT ,DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT ,DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -46; return -46;
} }
@@ -4853,11 +4858,13 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT ,DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT ,DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -47; return -47;
} }
if (XMEMCMP(plain, in, ret)) { if (XMEMCMP(plain, in, ret)) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -48; return -48;
} }
@@ -4879,6 +4886,7 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -143; return -143;
} }
@@ -4894,11 +4902,13 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -144; return -144;
} }
if (XMEMCMP(plain, in, inLen)) { if (XMEMCMP(plain, in, inLen)) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -145; return -145;
} }
#endif /* NO_SHA */ #endif /* NO_SHA */
@@ -4916,6 +4926,7 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -243; return -243;
} }
@@ -4931,11 +4942,13 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -244; return -244;
} }
if (XMEMCMP(plain, in, inLen)) { if (XMEMCMP(plain, in, inLen)) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -245; return -245;
} }
@@ -4952,6 +4965,7 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -246; return -246;
} }
@@ -4967,6 +4981,7 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret > 0) { /* in this case decrypt should fail */ if (ret > 0) { /* in this case decrypt should fail */
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -247; return -247;
} }
ret = 0; ret = 0;
@@ -4984,6 +4999,7 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -248; return -248;
} }
@@ -4999,11 +5015,13 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -249; return -249;
} }
if (XMEMCMP(plain, in, inLen)) { if (XMEMCMP(plain, in, inLen)) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -250; return -250;
} }
@@ -5021,6 +5039,7 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -251; return -251;
} }
@@ -5036,6 +5055,7 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret > 0) { /* should fail */ if (ret > 0) { /* should fail */
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -252; return -252;
} }
ret = 0; ret = 0;
@@ -5060,6 +5080,7 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -343; return -343;
} }
@@ -5075,11 +5096,13 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -344; return -344;
} }
if (XMEMCMP(plain, in, inLen)) { if (XMEMCMP(plain, in, inLen)) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -345; return -345;
} }
} }
@@ -5098,6 +5121,7 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -443; return -443;
} }
@@ -5113,11 +5137,13 @@ int rsa_test(void)
} while (ret == WC_PENDING_E); } while (ret == WC_PENDING_E);
if (ret < 0) { if (ret < 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -444; return -444;
} }
if (XMEMCMP(plain, in, inLen)) { if (XMEMCMP(plain, in, inLen)) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -445; return -445;
} }
#endif /* !HAVE_FAST_RSA && !HAVE_FIPS */ #endif /* !HAVE_FAST_RSA && !HAVE_FIPS */
@@ -5137,6 +5163,7 @@ int rsa_test(void)
file2 = fopen(clientCert, "rb"); file2 = fopen(clientCert, "rb");
if (!file2) { if (!file2) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -49; return -49;
} }
@@ -5153,7 +5180,9 @@ int rsa_test(void)
ret = ParseCert(&cert, CERT_TYPE, NO_VERIFY, 0); ret = ParseCert(&cert, CERT_TYPE, NO_VERIFY, 0);
if (ret != 0) { if (ret != 0) {
free(tmp); FreeDecodedCert(&cert);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -491; return -491;
} }
@@ -5176,6 +5205,7 @@ int rsa_test(void)
err_sys("can't open ./certs/client-keyPub.der, " err_sys("can't open ./certs/client-keyPub.der, "
"Please run from wolfSSL home dir", -40); "Please run from wolfSSL home dir", -40);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -50; return -50;
} }
@@ -5186,6 +5216,7 @@ int rsa_test(void)
ret = wc_InitRsaKey(&keypub, HEAP_HINT); ret = wc_InitRsaKey(&keypub, HEAP_HINT);
if (ret != 0) { if (ret != 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -51; return -51;
} }
idx = 0; idx = 0;
@@ -5194,6 +5225,7 @@ int rsa_test(void)
if (ret != 0) { if (ret != 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&keypub); wc_FreeRsaKey(&keypub);
wc_FreeRng(&rng);
return -52; return -52;
} }
#endif /* WOLFSSL_CERT_EXT */ #endif /* WOLFSSL_CERT_EXT */
@@ -5212,11 +5244,13 @@ int rsa_test(void)
ret = wc_InitRsaKey(&genKey, HEAP_HINT); ret = wc_InitRsaKey(&genKey, HEAP_HINT);
if (ret != 0) { if (ret != 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -300; return -300;
} }
ret = wc_MakeRsaKey(&genKey, 1024, 65537, &rng); ret = wc_MakeRsaKey(&genKey, 1024, 65537, &rng);
if (ret != 0) { if (ret != 0) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -301; return -301;
} }
@@ -5224,6 +5258,7 @@ int rsa_test(void)
if (der == NULL) { if (der == NULL) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&genKey); wc_FreeRsaKey(&genKey);
wc_FreeRng(&rng);
return -307; return -307;
} }
pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
@@ -5231,6 +5266,7 @@ int rsa_test(void)
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&genKey); wc_FreeRsaKey(&genKey);
wc_FreeRng(&rng);
return -308; return -308;
} }
@@ -5239,6 +5275,7 @@ int rsa_test(void)
XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -302; return -302;
} }
@@ -5252,6 +5289,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&genKey); wc_FreeRsaKey(&genKey);
wc_FreeRng(&rng);
return -303; return -303;
} }
ret = (int)fwrite(der, 1, derSz, keyFile); ret = (int)fwrite(der, 1, derSz, keyFile);
@@ -5261,6 +5299,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&genKey); wc_FreeRsaKey(&genKey);
wc_FreeRng(&rng);
return -313; return -313;
} }
@@ -5270,6 +5309,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&genKey); wc_FreeRsaKey(&genKey);
wc_FreeRng(&rng);
return -304; return -304;
} }
@@ -5283,6 +5323,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&genKey); wc_FreeRsaKey(&genKey);
wc_FreeRng(&rng);
return -305; return -305;
} }
ret = (int)fwrite(pem, 1, pemSz, pemFile); ret = (int)fwrite(pem, 1, pemSz, pemFile);
@@ -5292,6 +5333,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&genKey); wc_FreeRsaKey(&genKey);
wc_FreeRng(&rng);
return -314; return -314;
} }
@@ -5301,6 +5343,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&genKey); wc_FreeRsaKey(&genKey);
wc_FreeRng(&rng);
return -3060; return -3060;
} }
idx = 0; idx = 0;
@@ -5311,6 +5354,7 @@ int rsa_test(void)
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&derIn); wc_FreeRsaKey(&derIn);
wc_FreeRsaKey(&genKey); wc_FreeRsaKey(&genKey);
wc_FreeRng(&rng);
return -306; return -306;
} }
@@ -5339,12 +5383,14 @@ int rsa_test(void)
DYNAMIC_TYPE_TMP_BUFFER); DYNAMIC_TYPE_TMP_BUFFER);
if (derCert == NULL) { if (derCert == NULL) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -309; return -309;
} }
pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER); pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER);
if (pem == NULL) { if (pem == NULL) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -310; return -310;
} }
@@ -5373,6 +5419,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -398; return -398;
} }
@@ -5381,6 +5428,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -399; return -399;
} }
@@ -5389,6 +5437,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -400; return -400;
} }
#endif /* WOLFSSL_CERT_EXT */ #endif /* WOLFSSL_CERT_EXT */
@@ -5398,6 +5447,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -401; return -401;
} }
@@ -5408,6 +5458,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -402; return -402;
} }
FreeDecodedCert(&decode); FreeDecodedCert(&decode);
@@ -5422,6 +5473,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -403; return -403;
} }
ret = (int)fwrite(derCert, 1, certSz, derFile); ret = (int)fwrite(derCert, 1, certSz, derFile);
@@ -5430,6 +5482,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -414; return -414;
} }
@@ -5438,6 +5491,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -404; return -404;
} }
@@ -5450,6 +5504,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -405; return -405;
} }
ret = (int)fwrite(pem, 1, pemSz, pemFile); ret = (int)fwrite(pem, 1, pemSz, pemFile);
@@ -5458,6 +5513,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -406; return -406;
} }
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
@@ -5484,12 +5540,14 @@ int rsa_test(void)
DYNAMIC_TYPE_TMP_BUFFER); DYNAMIC_TYPE_TMP_BUFFER);
if (derCert == NULL) { if (derCert == NULL) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -311; return -311;
} }
pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER); pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER);
if (pem == NULL) { if (pem == NULL) {
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -312; return -312;
} }
@@ -5499,6 +5557,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -412; return -412;
} }
@@ -5510,6 +5569,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -411; return -411;
} }
ret = wc_RsaPrivateKeyDecode(tmp, &idx3, &caKey, (word32)bytes3); ret = wc_RsaPrivateKeyDecode(tmp, &idx3, &caKey, (word32)bytes3);
@@ -5518,6 +5578,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&caKey); wc_FreeRsaKey(&caKey);
wc_FreeRng(&rng);
return -413; return -413;
} }
@@ -5546,6 +5607,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -398; return -398;
} }
@@ -5554,6 +5616,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -399; return -399;
} }
@@ -5562,6 +5625,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -400; return -400;
} }
#endif /* WOLFSSL_CERT_EXT */ #endif /* WOLFSSL_CERT_EXT */
@@ -5572,6 +5636,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&caKey); wc_FreeRsaKey(&caKey);
wc_FreeRng(&rng);
return -405; return -405;
} }
@@ -5581,6 +5646,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&caKey); wc_FreeRsaKey(&caKey);
wc_FreeRng(&rng);
return -407; return -407;
} }
@@ -5591,6 +5657,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&caKey); wc_FreeRsaKey(&caKey);
wc_FreeRng(&rng);
return -408; return -408;
} }
@@ -5602,6 +5669,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&caKey); wc_FreeRsaKey(&caKey);
wc_FreeRng(&rng);
return -409; return -409;
} }
FreeDecodedCert(&decode); FreeDecodedCert(&decode);
@@ -5617,6 +5685,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&caKey); wc_FreeRsaKey(&caKey);
wc_FreeRng(&rng);
return -410; return -410;
} }
ret = (int)fwrite(derCert, 1, certSz, derFile); ret = (int)fwrite(derCert, 1, certSz, derFile);
@@ -5626,6 +5695,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&caKey); wc_FreeRsaKey(&caKey);
wc_FreeRng(&rng);
return -416; return -416;
} }
@@ -5635,6 +5705,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&caKey); wc_FreeRsaKey(&caKey);
wc_FreeRng(&rng);
return -411; return -411;
} }
@@ -5648,6 +5719,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&caKey); wc_FreeRsaKey(&caKey);
wc_FreeRng(&rng);
return -412; return -412;
} }
ret = (int)fwrite(pem, 1, pemSz, pemFile); ret = (int)fwrite(pem, 1, pemSz, pemFile);
@@ -5657,6 +5729,7 @@ int rsa_test(void)
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
fclose(pemFile); fclose(pemFile);
wc_FreeRsaKey(&caKey); wc_FreeRsaKey(&caKey);
wc_FreeRng(&rng);
return -415; return -415;
} }
fclose(pemFile); fclose(pemFile);
@@ -5689,12 +5762,14 @@ int rsa_test(void)
DYNAMIC_TYPE_TMP_BUFFER); DYNAMIC_TYPE_TMP_BUFFER);
if (derCert == NULL) { if (derCert == NULL) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -5311; return -5311;
} }
pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER); pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER);
if (pem == NULL) { if (pem == NULL) {
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -5312; return -5312;
} }
@@ -5704,6 +5779,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -5412; return -5412;
} }
@@ -5716,6 +5792,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -5413; return -5413;
} }
@@ -5744,6 +5821,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -5500; return -5500;
} }
@@ -5755,6 +5833,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -5501; return -5501;
} }
@@ -5765,6 +5844,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_ecc_free(&caKeyPub); wc_ecc_free(&caKeyPub);
wc_FreeRng(&rng);
return -5502; return -5502;
} }
@@ -5774,6 +5854,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_ecc_free(&caKeyPub); wc_ecc_free(&caKeyPub);
wc_FreeRng(&rng);
return -5503; return -5503;
} }
@@ -5783,6 +5864,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_ecc_free(&caKeyPub); wc_ecc_free(&caKeyPub);
wc_FreeRng(&rng);
return -5504; return -5504;
} }
wc_ecc_free(&caKeyPub); wc_ecc_free(&caKeyPub);
@@ -5792,6 +5874,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -5505; return -5505;
} }
#endif /* WOLFSSL_CERT_EXT */ #endif /* WOLFSSL_CERT_EXT */
@@ -5802,6 +5885,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_ecc_free(&caKey); wc_ecc_free(&caKey);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -5405; return -5405;
} }
@@ -5811,6 +5895,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_ecc_free(&caKey); wc_ecc_free(&caKey);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -5407; return -5407;
} }
@@ -5821,6 +5906,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_ecc_free(&caKey); wc_ecc_free(&caKey);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -5408; return -5408;
} }
@@ -5832,6 +5918,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_ecc_free(&caKey); wc_ecc_free(&caKey);
wc_FreeRng(&rng);
return -5409; return -5409;
} }
FreeDecodedCert(&decode); FreeDecodedCert(&decode);
@@ -5847,6 +5934,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_ecc_free(&caKey); wc_ecc_free(&caKey);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -5410; return -5410;
} }
ret = (int)fwrite(derCert, 1, certSz, derFile); ret = (int)fwrite(derCert, 1, certSz, derFile);
@@ -5856,6 +5944,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_ecc_free(&caKey); wc_ecc_free(&caKey);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -5414; return -5414;
} }
@@ -5865,6 +5954,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_ecc_free(&caKey); wc_ecc_free(&caKey);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -5411; return -5411;
} }
@@ -5878,6 +5968,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_ecc_free(&caKey); wc_ecc_free(&caKey);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -5412; return -5412;
} }
ret = (int)fwrite(pem, 1, pemSz, pemFile); ret = (int)fwrite(pem, 1, pemSz, pemFile);
@@ -5886,6 +5977,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_ecc_free(&caKey); wc_ecc_free(&caKey);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -5415; return -5415;
} }
@@ -5915,12 +6007,14 @@ int rsa_test(void)
DYNAMIC_TYPE_TMP_BUFFER); DYNAMIC_TYPE_TMP_BUFFER);
if (derCert == NULL) { if (derCert == NULL) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -311; return -311;
} }
pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER); pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER);
if (pem == NULL) { if (pem == NULL) {
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -312; return -312;
} }
@@ -5938,6 +6032,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -448; return -448;
} }
@@ -5948,6 +6043,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -449; return -449;
} }
@@ -5958,6 +6054,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -450; return -450;
} }
@@ -5967,6 +6064,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -451; return -451;
} }
@@ -5976,6 +6074,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -452; return -452;
} }
@@ -5987,6 +6086,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -453; return -453;
} }
ret = wc_RsaPrivateKeyDecode(tmp, &idx3, &caKey, (word32)bytes); ret = wc_RsaPrivateKeyDecode(tmp, &idx3, &caKey, (word32)bytes);
@@ -5994,6 +6094,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -454; return -454;
} }
@@ -6016,6 +6117,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -496; return -496;
} }
@@ -6024,6 +6126,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -495; return -495;
} }
@@ -6033,6 +6136,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -494; return -494;
} }
#endif /* WOLFSSL_CERT_EXT */ #endif /* WOLFSSL_CERT_EXT */
@@ -6043,6 +6147,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&caKey); wc_FreeRsaKey(&caKey);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -455; return -455;
} }
@@ -6053,6 +6158,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRsaKey(&caKey); wc_FreeRsaKey(&caKey);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -456; return -456;
} }
@@ -6063,6 +6169,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -457; return -457;
} }
@@ -6074,6 +6181,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -458; return -458;
} }
FreeDecodedCert(&decode); FreeDecodedCert(&decode);
@@ -6083,6 +6191,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -459; return -459;
} }
ret = (int)fwrite(derCert, 1, certSz, derFile); ret = (int)fwrite(derCert, 1, certSz, derFile);
@@ -6091,6 +6200,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -473; return -473;
} }
@@ -6099,6 +6209,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -460; return -460;
} }
@@ -6107,6 +6218,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -461; return -461;
} }
ret = (int)fwrite(pem, 1, pemSz, pemFile); ret = (int)fwrite(pem, 1, pemSz, pemFile);
@@ -6115,6 +6227,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -474; return -474;
} }
@@ -6123,6 +6236,7 @@ int rsa_test(void)
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -462; return -462;
} }
ret = (int)fwrite(private_key, 1, private_key_len, ntruPrivFile); ret = (int)fwrite(private_key, 1, private_key_len, ntruPrivFile);
@@ -6131,6 +6245,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(derCert, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -475; return -475;
} }
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
@@ -6149,12 +6264,14 @@ int rsa_test(void)
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) {
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -463; return -463;
} }
pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER); pem = (byte*)XMALLOC(FOURK_BUF, HEAP_HINT,DYNAMIC_TYPE_TMP_BUFFER);
if (pem == NULL) { if (pem == NULL) {
XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -464; return -464;
} }
@@ -6178,6 +6295,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -496; return -496;
} }
@@ -6187,6 +6305,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -494; return -494;
} }
#endif /* WOLFSSL_CERT_EXT */ #endif /* WOLFSSL_CERT_EXT */
@@ -6196,6 +6315,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -465; return -465;
} }
@@ -6205,6 +6325,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -466; return -466;
} }
@@ -6213,6 +6334,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -467; return -467;
} }
@@ -6225,6 +6347,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -468; return -468;
} }
@@ -6234,6 +6357,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -471; return -471;
} }
@@ -6246,6 +6370,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -469; return -469;
} }
ret = (int)fwrite(pem, 1, pemSz, reqFile); ret = (int)fwrite(pem, 1, pemSz, reqFile);
@@ -6254,6 +6379,7 @@ int rsa_test(void)
XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(der, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER); XFREE(tmp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
wc_FreeRng(&rng);
return -470; return -470;
} }