msxml3/tests: Prevent crash in saxreader tests.

Octavian Voicu octavian.voicu at gmail.com
Wed Aug 24 19:43:05 CDT 2011


V_BSTR() only makes sense if V_VT() == VT_BSTR; it returns an arbitrary
pointer otherwise, causing a crash on most systems when accessed.

---
 dlls/msxml3/tests/saxreader.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/dlls/msxml3/tests/saxreader.c b/dlls/msxml3/tests/saxreader.c
index cc123ff..90743e1 100644
--- a/dlls/msxml3/tests/saxreader.c
+++ b/dlls/msxml3/tests/saxreader.c
@@ -1714,7 +1714,7 @@ static void test_mxwriter_encoding(void)
     hr = IMXWriter_get_output(writer, &dest);
     todo_wine ok(hr == S_OK, "get_output failed: %08x\n", hr);
     todo_wine ok(V_VT(&dest) == VT_BSTR, "Expected VT_BSTR, got %d\n", V_VT(&dest));
-    todo_wine ok(!lstrcmpW(_bstr_("<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\r\n"), V_BSTR(&dest)),
+    if (V_VT(&dest) == VT_BSTR) todo_wine ok(!lstrcmpW(_bstr_("<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\r\n"), V_BSTR(&dest)),
             "got wrong content: %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
-- 
1.7.4.1




More information about the wine-patches mailing list