diff --git a/dlls/riched20/richole.c b/dlls/riched20/richole.c index 68058737cf6..bec228e83a8 100644 --- a/dlls/riched20/richole.c +++ b/dlls/riched20/richole.c @@ -515,6 +515,9 @@ ITextDocument_fnGetSelection(ITextDocument* me, ITextSelection** ppSel) { IRichEditOleImpl *This = impl_from_ITextDocument(me); TRACE("(%p)\n", me); + + if(!ppSel) + return E_INVALIDARG; *ppSel = &This->txtSel->ITextSelection_iface; ITextSelection_AddRef(*ppSel); return S_OK; diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c index 5bfb9993b0f..5a3ffbe8e6a 100644 --- a/dlls/riched20/tests/richole.c +++ b/dlls/riched20/tests/richole.c @@ -117,6 +117,9 @@ static void test_Interfaces(void) ok(hres == S_OK, "IRichEditOle_QueryInterface\n"); ok(txtDoc != NULL, "IRichEditOle_QueryInterface\n"); + hres = ITextDocument_GetSelection(txtDoc, NULL); + ok(hres == E_INVALIDARG, "ITextDocument_GetSelection: 0x%x\n", hres); + ITextDocument_GetSelection(txtDoc, &txtSel); punk = NULL;