Marcus Meissner : xmllite: Free elem in error paths (Coverity).

Alexandre Julliard julliard at winehq.org
Thu May 9 15:08:29 CDT 2013


Module: wine
Branch: master
Commit: 51d96dac70bcf7ce2363b1e61ce9508300811f53
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=51d96dac70bcf7ce2363b1e61ce9508300811f53

Author: Marcus Meissner <marcus at jet.franken.de>
Date:   Thu May  9 10:59:43 2013 +0200

xmllite: Free elem in error paths (Coverity).

---

 dlls/xmllite/reader.c |   10 ++++++++--
 1 files 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);




More information about the wine-cvs mailing list