forked from wolfSSL/wolfssl
fix possible memory leak on error case with ASN1 INTEGER to BN function
This commit is contained in:
13
src/ssl.c
13
src/ssl.c
@ -16570,8 +16570,17 @@ WOLFSSL_BIGNUM *wolfSSL_ASN1_INTEGER_to_BN(const WOLFSSL_ASN1_INTEGER *ai,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SetIndividualExternal(&bn, &mpi) != SSL_SUCCESS) {
|
/* SetIndividualExternal mallocs bn in the case that bn is NULL */
|
||||||
return NULL;
|
if (bn == NULL) {
|
||||||
|
if (SetIndividualExternal(&bn, &mpi) != SSL_SUCCESS) {
|
||||||
|
wolfSSL_BN_free(bn);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (SetIndividualExternal(&bn, &mpi) != SSL_SUCCESS) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return bn;
|
return bn;
|
||||||
|
Reference in New Issue
Block a user