[PATCH v3 3/3] xmllite: Expand test for any unparsed data at end of XML.
Jeff Smith
whydoubt at gmail.com
Thu Dec 5 13:53:26 CST 2019
Signed-off-by: Jeff Smith <whydoubt at gmail.com>
---
dlls/xmllite/reader.c | 3 ++-
dlls/xmllite/tests/reader.c | 2 --
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/dlls/xmllite/reader.c b/dlls/xmllite/reader.c
index 79e5c2253a..c4b0fe521d 100644
--- a/dlls/xmllite/reader.c
+++ b/dlls/xmllite/reader.c
@@ -2562,6 +2562,7 @@ static HRESULT reader_parse_content(xmlreader *reader)
static HRESULT reader_parse_nextnode(xmlreader *reader)
{
+ const encoded_buffer *buffer = &reader->input->buffer->utf16;
XmlNodeType nodetype = reader_get_nodetype(reader);
HRESULT hr;
@@ -2662,7 +2663,7 @@ static HRESULT reader_parse_nextnode(xmlreader *reader)
hr = reader_parse_misc(reader);
if (hr != S_FALSE) return hr;
- if (*reader_get_ptr(reader))
+ if (buffer->cur*sizeof(WCHAR) < buffer->written)
{
WARN("found garbage in the end of XML\n");
return WC_E_SYNTAX;
diff --git a/dlls/xmllite/tests/reader.c b/dlls/xmllite/tests/reader.c
index b02301907d..7ad548d081 100644
--- a/dlls/xmllite/tests/reader.c
+++ b/dlls/xmllite/tests/reader.c
@@ -1051,7 +1051,6 @@ static void test_read_nul(void)
type = -1;
hr = IXmlReader_Read(reader, &type);
-todo_wine
ok(hr == WC_E_SYNTAX || broken(hr == WC_E_XMLCHARACTER), "expected WC_E_SYNTAX, got 0x%08x\n", hr);
ok(type == XmlNodeType_None, "expected XmlNodeType_None, got %s\n", type_to_str(type));
@@ -1077,7 +1076,6 @@ todo_wine
type = -1;
hr = IXmlReader_Read(reader, &type);
-todo_wine
ok(hr == WC_E_SYNTAX || broken(hr == WC_E_XMLCHARACTER), "expected WC_E_SYNTAX, got 0x%08x\n", hr);
ok(type == XmlNodeType_None, "expected XmlNodeType_None, got %s\n", type_to_str(type));
--
2.23.0
More information about the wine-devel
mailing list