Merge pull request #1723 from kaleb-himes/overhead-avoidance

avoid overhead call to alloc and free when sigSz invalid
This commit is contained in:
David Garske
2018-07-31 08:14:49 -07:00
committed by GitHub

View File

@ -16843,10 +16843,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) {
/* if sigSz invalid return here to avoid overhead of malloc */
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;