[PATCH 2/2] xmllite/reader: Reset reader nesting depth on error

Nikolay Sivov nsivov at codeweavers.com
Mon Mar 13 04:27:55 CDT 2017


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/xmllite/reader.c       | 1 +
 dlls/xmllite/tests/reader.c | 3 ---
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/dlls/xmllite/reader.c b/dlls/xmllite/reader.c
index 6379b70612..41a6fb8a21 100644
--- a/dlls/xmllite/reader.c
+++ b/dlls/xmllite/reader.c
@@ -2847,6 +2847,7 @@ static HRESULT WINAPI xmlreader_Read(IXmlReader* iface, XmlNodeType *nodetype)
         {
             This->state = XmlReadState_Error;
             This->nodetype = XmlNodeType_None;
+            This->depth = 0;
             This->error = hr;
         }
     }
diff --git a/dlls/xmllite/tests/reader.c b/dlls/xmllite/tests/reader.c
index d225ab3fd8..8660bb816a 100644
--- a/dlls/xmllite/tests/reader.c
+++ b/dlls/xmllite/tests/reader.c
@@ -2402,7 +2402,6 @@ static void test_max_element_depth(void)
     hr = IXmlReader_Read(reader, NULL);
     ok(hr == SC_E_MAXELEMENTDEPTH, "got %08x\n", hr);
 
-todo_wine
     TEST_DEPTH2(reader, 0, 2);
     TEST_READER_STATE(reader, XmlReadState_Error);
 
@@ -2412,7 +2411,6 @@ todo_wine
     hr = IXmlReader_Read(reader, NULL);
     ok(hr == SC_E_MAXELEMENTDEPTH, "got %08x\n", hr);
 
-todo_wine
     TEST_DEPTH2(reader, 0, 2);
     TEST_READER_STATE(reader, XmlReadState_Error);
     IStream_Release(stream);
@@ -2454,7 +2452,6 @@ todo_wine
     ok(hr == SC_E_MAXELEMENTDEPTH, "got %08x\n", hr);
     ok(nodetype == XmlNodeType_None, "got node type %d\n", nodetype);
 
-todo_wine
     TEST_DEPTH2(reader, 0, 2);
     TEST_READER_STATE(reader, XmlReadState_Error);
 
-- 
2.11.0




More information about the wine-patches mailing list