avoid overhead call to alloc and free when sigSz invalid

pull/1723/head
kaleb-himes 2018-07-27 16:25:10 -06:00
parent 04e16b8df8
commit 0ee4b88e74
1 changed files with 8 additions and 2 deletions

View File

@ -16765,10 +16765,16 @@ WOLFSSL_EVP_PKEY* wolfSSL_X509_get_pubkey(WOLFSSL_X509* x509)
}
sigSz = (int)x509->sig.length;
sig = (unsigned char*)XMALLOC(sigSz, NULL, DYNAMIC_TYPE_TMP_BUFFER);
if (sig == NULL || sigSz <= 0) {
if (sigSz <= 0) {
/* Don't both allocating memory, if sigSz invalid, abort! */
return WOLFSSL_FAILURE;
}
sig = (unsigned char*)XMALLOC(sigSz, NULL, DYNAMIC_TYPE_TMP_BUFFER);
if (sig == NULL) {
return WOLFSSL_FAILURE;
}
if (wolfSSL_X509_get_signature(x509, sig, &sigSz) <= 0) {
XFREE(sig, NULL, DYNAMIC_TYPE_TMP_BUFFER);
return WOLFSSL_FAILURE;