Module: wine Branch: master Commit: cef8a52deae6afd83c6d10ced727929bc199101c URL: http://source.winehq.org/git/wine.git/?a=commit;h=cef8a52deae6afd83c6d10ced7... Author: Nikolay Sivov <nsivov(a)codeweavers.com> Date: Mon Jul 17 23:18:45 2017 +0300 dwrite: Explicitly check rendering parameters pointer passed to DrawGlyphRun(). Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dwrite/gdiinterop.c | 3 +++ dlls/dwrite/tests/font.c | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/dwrite/gdiinterop.c b/dlls/dwrite/gdiinterop.c index aa2e3a6..84921e6 100644 --- a/dlls/dwrite/gdiinterop.c +++ b/dlls/dwrite/gdiinterop.c @@ -328,6 +328,9 @@ static HRESULT WINAPI rendertarget_DrawGlyphRun(IDWriteBitmapRenderTarget1 *ifac if (!This->dib.ptr) return S_OK; + if (!params) + return E_INVALIDARG; + if (FAILED(hr = IDWriteFontFace_QueryInterface(run->fontFace, &IID_IDWriteFontFace2, (void **)&fontface2))) { WARN("Failed to get IDWriteFontFace2 interface, hr %#x.\n", hr); return hr; diff --git a/dlls/dwrite/tests/font.c b/dlls/dwrite/tests/font.c index 52ce9f0..fe2d802 100644 --- a/dlls/dwrite/tests/font.c +++ b/dlls/dwrite/tests/font.c @@ -1337,7 +1337,6 @@ static void test_CreateBitmapRenderTarget(void) hr = IDWriteBitmapRenderTarget_DrawGlyphRun(target, 0.0f, 0.0f, DWRITE_MEASURING_MODE_NATURAL, &run, NULL, RGB(255, 0, 0), NULL); -todo_wine ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr); hr = IDWriteBitmapRenderTarget_DrawGlyphRun(target, 0.0f, 0.0f, DWRITE_MEASURING_MODE_GDI_NATURAL + 1,