Module: wine Branch: master Commit: 9997ef3fbcac33f4005c91174c2a4e600dbef08d URL: http://source.winehq.org/git/wine.git/?a=commit;h=9997ef3fbcac33f4005c91174c...
Author: Nikolay Sivov nsivov@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;