forked from wolfSSL/wolfssl
fix resource leak on bad user cert chain big buffer
This commit is contained in:
@ -1977,6 +1977,8 @@ int CyaSSL_Init(void)
|
|||||||
|
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
CYASSL_MSG(" Error in Cert in Chain");
|
CYASSL_MSG(" Error in Cert in Chain");
|
||||||
|
if (dynamicBuffer)
|
||||||
|
XFREE(chainBuffer, heap, DYNAMIC_TYPE_FILE);
|
||||||
XFREE(der.buffer, heap, dynamicType);
|
XFREE(der.buffer, heap, dynamicType);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -1986,6 +1988,9 @@ int CyaSSL_Init(void)
|
|||||||
|
|
||||||
if (ctx == NULL) {
|
if (ctx == NULL) {
|
||||||
CYASSL_MSG("certChain needs context");
|
CYASSL_MSG("certChain needs context");
|
||||||
|
if (dynamicBuffer)
|
||||||
|
XFREE(chainBuffer, heap, DYNAMIC_TYPE_FILE);
|
||||||
|
XFREE(der.buffer, heap, dynamicType);
|
||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
}
|
}
|
||||||
ctx->certChain.buffer = (byte*)XMALLOC(idx, heap,
|
ctx->certChain.buffer = (byte*)XMALLOC(idx, heap,
|
||||||
|
Reference in New Issue
Block a user