forked from wolfSSL/wolfssl
Fix possible double free
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user