[PATCH] xmllite: free elem in error paths (Coverity)
Marcus Meissner
marcus at jet.franken.de
Thu May 9 03:59:43 CDT 2013
971375 Resource leak
Ciao, Marcus
---
dlls/xmllite/reader.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/xmllite/reader.c b/dlls/xmllite/reader.c
index 3d0b4a8..72e9836 100644
--- a/dlls/xmllite/reader.c
+++ b/dlls/xmllite/reader.c
@@ -379,12 +379,18 @@ static HRESULT reader_push_element(xmlreader *reader, strval *qname)
if (!elem) return E_OUTOFMEMORY;
hr = reader_strvaldup(reader, qname, &elem->qname);
- if (FAILED(hr)) return hr;
+ if (FAILED(hr)) {
+ reader_free(reader, elem);
+ return hr;
+ }
if (!list_empty(&reader->elements))
{
hr = reader_inc_depth(reader);
- if (FAILED(hr)) return hr;
+ if (FAILED(hr)) {
+ reader_free(reader, elem);
+ return hr;
+ }
}
list_add_head(&reader->elements, &elem->entry);
--
1.7.10.4
More information about the wine-patches
mailing list