Module: wine Branch: master Commit: fd0101ab61e61c67bc91d35639bad125265da615 URL: http://source.winehq.org/git/wine.git/?a=commit;h=fd0101ab61e61c67bc91d35639...
Author: Michael Stefaniuc mstefani@redhat.de Date: Tue Jul 19 09:46:01 2016 +0200
msctf: Don't crash on NULL input in EnumLanguageProfiles().
Signed-off-by: Michael Stefaniuc mstefani@redhat.de Signed-off-by: Aric Stewart aric@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msctf/inputprocessor.c | 4 ++++ dlls/msctf/tests/inputprocessor.c | 5 +++++ 2 files changed, 9 insertions(+)
diff --git a/dlls/msctf/inputprocessor.c b/dlls/msctf/inputprocessor.c index 0e8ad22..fca78e4 100644 --- a/dlls/msctf/inputprocessor.c +++ b/dlls/msctf/inputprocessor.c @@ -617,6 +617,10 @@ static HRESULT WINAPI InputProcessorProfiles_EnumLanguageProfiles( { InputProcessorProfiles *This = impl_from_ITfInputProcessorProfiles(iface); TRACE("(%p) %x %p\n",This,langid,ppEnum); + + if (!ppEnum) + return E_INVALIDARG; + return EnumTfLanguageProfiles_Constructor(langid, ppEnum); }
diff --git a/dlls/msctf/tests/inputprocessor.c b/dlls/msctf/tests/inputprocessor.c index 831e37a..2096bff 100644 --- a/dlls/msctf/tests/inputprocessor.c +++ b/dlls/msctf/tests/inputprocessor.c @@ -973,6 +973,11 @@ static void test_EnumLanguageProfiles(void) { BOOL found = FALSE; IEnumTfLanguageProfiles *ppEnum; + HRESULT hr; + + hr = ITfInputProcessorProfiles_EnumLanguageProfiles(g_ipp, gLangid, NULL); + ok(hr == E_INVALIDARG, "EnumLanguageProfiles failed: %x\n", hr); + if (SUCCEEDED(ITfInputProcessorProfiles_EnumLanguageProfiles(g_ipp,gLangid,&ppEnum))) { TF_LANGUAGEPROFILE profile;