From: Yuxuan Shui yshui@codeweavers.com
IXmlWriter doesn't write a NUL terminator into the stream, therefore formatting it with %s results in out-of-bound read. --- dlls/xmllite/tests/writer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/xmllite/tests/writer.c b/dlls/xmllite/tests/writer.c index 572b3a9fd67..deb397e7de8 100644 --- a/dlls/xmllite/tests/writer.c +++ b/dlls/xmllite/tests/writer.c @@ -114,10 +114,10 @@ static void check_output(IStream *stream, const char *expected, BOOL todo, int l if (size != len) { ok_(__FILE__, line)(0, "data size mismatch, expected %u, got %u\n", len, size); - ok_(__FILE__, line)(0, "got |%s|, expected |%s|\n", ptr, expected); + ok_(__FILE__, line)(0, "got |%.*s|, expected |%s|\n", size, ptr, expected); } else - ok_(__FILE__, line)(!strncmp(ptr, expected, len), "got |%s|, expected |%s|\n", ptr, expected); + ok_(__FILE__, line)(!strncmp(ptr, expected, len), "got |%.*s|, expected |%s|\n", size, ptr, expected); } GlobalUnlock(hglobal); }