Nikolay Sivov : xmllite: It' s acceptable to have NULL length pointer in GetLocalName().

Alexandre Julliard julliard at winehq.org
Wed Jun 12 15:37:24 CDT 2013


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Wed Jun 12 13:06:24 2013 +0400

xmllite: It's acceptable to have NULL length pointer in GetLocalName().

---

 dlls/xmllite/reader.c       |    2 +-
 dlls/xmllite/tests/reader.c |    9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/dlls/xmllite/reader.c b/dlls/xmllite/reader.c
index 8276b85..5256c35 100644
--- a/dlls/xmllite/reader.c
+++ b/dlls/xmllite/reader.c
@@ -2256,7 +2256,7 @@ static HRESULT WINAPI xmlreader_GetLocalName(IXmlReader* iface, LPCWSTR *name, U
 
     TRACE("(%p)->(%p %p)\n", This, name, len);
     *name = This->strvalues[StringValue_LocalName].str;
-    *len  = This->strvalues[StringValue_LocalName].len;
+    if (len) *len = This->strvalues[StringValue_LocalName].len;
     return S_OK;
 }
 
diff --git a/dlls/xmllite/tests/reader.c b/dlls/xmllite/tests/reader.c
index fad3d41..46c6edd 100644
--- a/dlls/xmllite/tests/reader.c
+++ b/dlls/xmllite/tests/reader.c
@@ -1364,13 +1364,20 @@ static void test_read_cdata(void)
 
             ok(type == XmlNodeType_CDATA, "got %d for %s\n", type, test->xml);
 
+            str_exp = a2w(test->name);
+
             len = 1;
             str = NULL;
             hr = IXmlReader_GetLocalName(reader, &str, &len);
             ok(hr == S_OK, "got 0x%08x\n", hr);
             ok(len == strlen(test->name), "got %u\n", len);
-            str_exp = a2w(test->name);
             ok(!lstrcmpW(str, str_exp), "got %s\n", wine_dbgstr_w(str));
+
+            str = NULL;
+            hr = IXmlReader_GetLocalName(reader, &str, NULL);
+            ok(hr == S_OK, "got 0x%08x\n", hr);
+            ok(!lstrcmpW(str, str_exp), "got %s\n", wine_dbgstr_w(str));
+
             free_str(str_exp);
 
             len = 1;




More information about the wine-cvs mailing list