Nikolay Sivov : inetcomm: Fix a leak on DeleteProp() (Valgrind).

Alexandre Julliard julliard at winehq.org
Fri Dec 14 11:57:12 CST 2018


Module: wine
Branch: master
Commit: 05f6769f24a6db40ac1ea3d60cdbc3ac9c5f2513
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=05f6769f24a6db40ac1ea3d60cdbc3ac9c5f2513

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Fri Dec 14 03:43:25 2018 +0300

inetcomm: Fix a leak on DeleteProp() (Valgrind).

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 cb9ebcc..a2854be 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;
         }
     }




More information about the wine-cvs mailing list