msxml3/saxreader: Handle NULL interface input in parse().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
a5031391f4
commit
ba018b5253
|
@ -2664,6 +2664,9 @@ static HRESULT internal_parse(
|
|||
ISequentialStream *stream = NULL;
|
||||
IXMLDOMDocument *xmlDoc;
|
||||
|
||||
if (!V_UNKNOWN(&varInput))
|
||||
return E_INVALIDARG;
|
||||
|
||||
if(IUnknown_QueryInterface(V_UNKNOWN(&varInput),
|
||||
&IID_IXMLDOMDocument, (void**)&xmlDoc) == S_OK)
|
||||
{
|
||||
|
|
|
@ -2221,6 +2221,16 @@ static void test_saxreader(void)
|
|||
|
||||
SafeArrayDestroy(sa);
|
||||
|
||||
V_VT(&var) = VT_UNKNOWN;
|
||||
V_UNKNOWN(&var) = NULL;
|
||||
hr = ISAXXMLReader_parse(reader, var);
|
||||
ok(hr == E_INVALIDARG, "got %#x\n", hr);
|
||||
|
||||
V_VT(&var) = VT_DISPATCH;
|
||||
V_DISPATCH(&var) = NULL;
|
||||
hr = ISAXXMLReader_parse(reader, var);
|
||||
ok(hr == E_INVALIDARG, "got %#x\n", hr);
|
||||
|
||||
stream = create_test_stream(testXML, -1);
|
||||
V_VT(&var) = VT_UNKNOWN;
|
||||
V_UNKNOWN(&var) = (IUnknown*)stream;
|
||||
|
|
Loading…
Reference in New Issue