wsdapi: Fix some memory leaks (Valgrind).

Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
stable
Sven Baars 2019-01-24 11:59:45 +01:00 committed by Alexandre Julliard
parent e9c90afc06
commit 18ac7e15aa
1 changed files with 11 additions and 2 deletions

View File

@ -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;
}