[2/2] [PATCH] msxml3: fixed if nesting / ptr checking problems in xmlnode_transformNode
Marcus Meissner
marcus at jet.franken.de
Thu Oct 30 18:19:49 CDT 2008
Hi,
The code called functions on NULL pointers, or leaked
xmlBufs. Fixed like this by moving the frees inside
the right brace block. Removed a doubled pOutput NULL check too.
Ciao, Marcus
---
dlls/msxml3/node.c | 13 ++++---------
1 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c
index 1d99be3..f2c6154 100644
--- a/dlls/msxml3/node.c
+++ b/dlls/msxml3/node.c
@@ -1310,12 +1310,8 @@ static HRESULT WINAPI xmlnode_transformNode(
if(pOutput)
{
htmlDocContentDumpOutput(pOutput, result->doc, NULL);
- if(pOutput)
- {
- pContent = xmlBufferContent(pOutput->buffer);
- *xmlString = bstr_from_xmlChar(pContent);
- }
-
+ pContent = xmlBufferContent(pOutput->buffer);
+ *xmlString = bstr_from_xmlChar(pContent);
xmlOutputBufferClose(pOutput);
}
}
@@ -1332,13 +1328,12 @@ static HRESULT WINAPI xmlnode_transformNode(
{
pContent = xmlBufferContent(pXmlBuf);
*xmlString = bstr_from_xmlChar(pContent);
-
- xmlBufferFree(pXmlBuf);
}
+ xmlBufferFree(pXmlBuf);
}
}
+ xmlFreeDoc(result);
}
- xmlFreeDoc(result);
/* libxslt "helpfully" frees the XML document the stylesheet was
generated from, too */
xsltSS->doc = NULL;
--
1.5.6
More information about the wine-patches
mailing list