Module: wine Branch: master Commit: 88923cd6f32d3c318cc76dc00507a8c9334a1d6f URL: http://source.winehq.org/git/wine.git/?a=commit;h=88923cd6f32d3c318cc76dc005...
Author: Marcus Meissner marcus@jet.franken.de Date: Wed Jan 1 20:33:43 2014 +0100
msxml3: Avoid double free of str (Coverity).
---
dlls/msxml3/tests/domdoc.c | 36 ++++++++++++++++-------------------- 1 files changed, 16 insertions(+), 20 deletions(-)
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c index df11197..e9294d7 100644 --- a/dlls/msxml3/tests/domdoc.c +++ b/dlls/msxml3/tests/domdoc.c @@ -11014,6 +11014,7 @@ static void test_xmlns_attribute(void) IXMLDOMAttribute *pAttribute; IXMLDOMElement *elem; HRESULT hr; + VARIANT v;
doc = create_document(&IID_IXMLDOMDocument);
@@ -11026,32 +11027,27 @@ static void test_xmlns_attribute(void) str = SysAllocString(szAttribute); hr = IXMLDOMDocument_createAttribute(doc, _bstr_("xmlns:dt"), &pAttribute); ok( hr == S_OK, "returns %08x\n", hr ); - if(hr == S_OK) - { - VARIANT v;
- V_VT(&v) = VT_BSTR; - V_BSTR(&v) = _bstr_("urn:schemas-microsoft-com:datatypes"); - hr = IXMLDOMAttribute_put_nodeValue(pAttribute, v); + V_VT(&v) = VT_BSTR; + V_BSTR(&v) = _bstr_("urn:schemas-microsoft-com:datatypes"); + hr = IXMLDOMAttribute_put_nodeValue(pAttribute, v);
- hr = IXMLDOMElement_setAttributeNode(root, pAttribute, NULL); - ok(hr == S_OK, "ret %08x\n", hr ); + hr = IXMLDOMElement_setAttributeNode(root, pAttribute, NULL); + ok(hr == S_OK, "ret %08x\n", hr );
- hr = IXMLDOMNode_put_dataType((IXMLDOMNode*)root, _bstr_("bin.base64")); - ok(hr == S_OK, "ret %08x\n", hr ); + hr = IXMLDOMNode_put_dataType((IXMLDOMNode*)root, _bstr_("bin.base64")); + ok(hr == S_OK, "ret %08x\n", hr );
- hr = IXMLDOMDocument_get_documentElement(doc, &elem); - EXPECT_HR(hr, S_OK); + hr = IXMLDOMDocument_get_documentElement(doc, &elem); + EXPECT_HR(hr, S_OK);
- hr = IXMLDOMElement_get_xml(elem, &str); - ok( hr == S_OK, "got 0x%08x\n", hr); - todo_wine ok( lstrcmpW(str, _bstr_("<Testing xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64"/>")) == 0, - "got %s\n", wine_dbgstr_w(str)); - SysFreeString(str); + hr = IXMLDOMElement_get_xml(elem, &str); + ok( hr == S_OK, "got 0x%08x\n", hr); + todo_wine ok( lstrcmpW(str, _bstr_("<Testing xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64"/>")) == 0, + "got %s\n", wine_dbgstr_w(str));
- IXMLDOMElement_Release(elem); - IXMLDOMAttribute_Release( pAttribute); - } + IXMLDOMElement_Release(elem); + IXMLDOMAttribute_Release( pAttribute);
SysFreeString(str);