Marcus Meissner : msxml3: Avoid double free of str (Coverity).
Module: wine Branch: master Commit: 88923cd6f32d3c318cc76dc00507a8c9334a1d6f URL: http://source.winehq.org/git/wine.git/?a=commit;h=88923cd6f32d3c318cc76dc005... Author: Marcus Meissner <marcus(a)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);
participants (1)
-
Alexandre Julliard