From 142ef8a7e8fd4cb5a7859286deb8a9c4726d8e70 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Thu, 26 Sep 2019 13:57:48 +0200 Subject: [PATCH] scrobj: Ignore processing instructions in scriptlet files. Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- dlls/scrobj/scrobj.c | 14 ++++++++++++-- dlls/scrobj/tests/scrobj.wsc | 4 +++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/dlls/scrobj/scrobj.c b/dlls/scrobj/scrobj.c index 8aa1eeb7935..ce5a3dedd14 100644 --- a/dlls/scrobj/scrobj.c +++ b/dlls/scrobj/scrobj.c @@ -1261,8 +1261,18 @@ static const char *debugstr_xml_name(struct scriptlet_factory *factory) static HRESULT next_xml_node(struct scriptlet_factory *factory, XmlNodeType *node_type) { HRESULT hres; - do hres = IXmlReader_Read(factory->xml_reader, node_type); - while (hres == S_OK && *node_type == XmlNodeType_Whitespace); + for (;;) + { + hres = IXmlReader_Read(factory->xml_reader, node_type); + if (FAILED(hres)) break; + if (*node_type == XmlNodeType_Whitespace) continue; + if (*node_type == XmlNodeType_ProcessingInstruction) + { + FIXME("Ignoring processing instruction\n"); + continue; + } + break; + } return hres; } diff --git a/dlls/scrobj/tests/scrobj.wsc b/dlls/scrobj/tests/scrobj.wsc index 4cc4224dd71..fe329011383 100644 --- a/dlls/scrobj/tests/scrobj.wsc +++ b/dlls/scrobj/tests/scrobj.wsc @@ -4,7 +4,9 @@ - + + +