Sven Baars : wsdapi: Fix some memory leaks (Valgrind).
Alexandre Julliard
julliard at winehq.org
Tue Jan 29 15:18:17 CST 2019
Module: wine
Branch: master
Commit: 18ac7e15aab3343b6c6d4dc56a33ea7d24e84f0f
URL: https://source.winehq.org/git/wine.git/?a=commit;h=18ac7e15aab3343b6c6d4dc56a33ea7d24e84f0f
Author: Sven Baars <sven.wine at gmail.com>
Date: Thu Jan 24 11:59:45 2019 +0100
wsdapi: Fix some memory leaks (Valgrind).
Signed-off-by: Sven Baars <sven.wine at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/wsdapi/soap.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/wsdapi/soap.c b/dlls/wsdapi/soap.c
index 2ecc013..aa8d15f 100644
--- a/dlls/wsdapi/soap.c
+++ b/dlls/wsdapi/soap.c
@@ -1426,6 +1426,9 @@ static HRESULT ws_element_to_wsdxml_element(WS_XML_READER *reader, IWSDXMLContex
if (FAILED(ret)) goto cleanup;
WSDXMLAddChild(cur_element, element);
+ WSDFreeLinkedMemory(name);
+ name = NULL;
+
cur_wsd_attrib = NULL;
/* Add attributes */
@@ -1462,6 +1465,9 @@ static HRESULT ws_element_to_wsdxml_element(WS_XML_READER *reader, IWSDXMLContex
new_wsd_attrib->Element = cur_element;
new_wsd_attrib->Next = NULL;
+ WSDAttachLinkedMemory(new_wsd_attrib, name);
+ name = NULL;
+
if (cur_wsd_attrib == NULL)
element->FirstAttribute = new_wsd_attrib;
else
@@ -1524,6 +1530,7 @@ outofmemory:
cleanup:
/* Free uri and element_name if applicable */
WSDFreeLinkedMemory(uri);
+ WSDFreeLinkedMemory(name);
return ret;
}
@@ -1712,10 +1719,10 @@ HRESULT read_message(IWSDiscoveryPublisherImpl *impl, const char *xml, int xml_l
IWSDXMLContext *context = NULL;
WS_XML_STRING *soap_uri = NULL;
const WS_XML_NODE *node;
- WS_XML_READER *reader;
+ WS_XML_READER *reader = NULL;
LPCWSTR value = NULL;
LPWSTR uri, prefix;
- WS_HEAP *heap;
+ WS_HEAP *heap = NULL;
HRESULT ret;
int i;
@@ -1945,6 +1952,8 @@ cleanup:
free_xml_string(soap_uri);
WSDFreeLinkedMemory(soap_msg);
if (context != NULL) IWSDXMLContext_Release(context);
+ if (reader != NULL) WsFreeReader(reader);
+ if (heap != NULL) WsFreeHeap(heap);
return ret;
}
More information about the wine-cvs
mailing list