From: Nikolay Sivov Subject: [PATCH] inetcomm: Fix a leak on DeleteProp() (Valgrind) Message-Id: <20181214004325.10686-1-nsivov@codeweavers.com> Date: Fri, 14 Dec 2018 03:43:25 +0300 Signed-off-by: Nikolay Sivov --- dlls/inetcomm/mimeole.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/dlls/inetcomm/mimeole.c b/dlls/inetcomm/mimeole.c index cb9ebcc382..a2854be196 100644 --- a/dlls/inetcomm/mimeole.c +++ b/dlls/inetcomm/mimeole.c @@ -819,16 +819,21 @@ static void empty_param_list(struct list *list) } } +static void free_header(header_t *header) +{ + list_remove(&header->entry); + PropVariantClear(&header->value); + empty_param_list(&header->params); + heap_free(header); +} + static void empty_header_list(struct list *list) { header_t *header, *cursor2; LIST_FOR_EACH_ENTRY_SAFE(header, cursor2, list, header_t, entry) { - list_remove(&header->entry); - PropVariantClear(&header->value); - empty_param_list(&header->params); - HeapFree(GetProcessHeap(), 0, header); + free_header(header); } } @@ -1232,8 +1237,7 @@ static HRESULT WINAPI MimeBody_DeleteProp( if(found) { - list_remove(&cursor->entry); - HeapFree(GetProcessHeap(), 0, cursor); + free_header(cursor); return S_OK; } } -- 2.19.2