Fix possible double free

This commit is contained in:
Andras Fekete
2023-10-24 14:30:53 -04:00
parent f8f080d7de
commit 21d465cf9a

View File

@ -37514,8 +37514,10 @@ int wc_MIME_parse_headers(char* in, int inLen, MimeHdr** headers)
}
else if (mimeStatus == MIME_BODYVAL && cur == ';' && pos >= 1) {
end = pos-1;
if (bodyVal != NULL)
if (bodyVal != NULL) {
XFREE(bodyVal, NULL, DYNAMIC_TYPE_PKCS7);
bodyVal = NULL;
}
ret = wc_MIME_header_strip(curLine, &bodyVal, start, end);
if (ret) {
goto error;
@ -37608,9 +37610,12 @@ error:
if (ret != 0)
wc_MIME_free_hdrs(curHdr);
wc_MIME_free_hdrs(nextHdr);
XFREE(nameAttr, NULL, DYNAMIC_TYPE_PKCS7);
XFREE(bodyVal, NULL, DYNAMIC_TYPE_PKCS7);
XFREE(nextParam, NULL, DYNAMIC_TYPE_PKCS7);
if (nameAttr != NULL)
XFREE(nameAttr, NULL, DYNAMIC_TYPE_PKCS7);
if (bodyVal != NULL)
XFREE(bodyVal, NULL, DYNAMIC_TYPE_PKCS7);
if (nextParam != NULL)
XFREE(nextParam, NULL, DYNAMIC_TYPE_PKCS7);
return ret;
}