Module: wine Branch: master Commit: cef8a52deae6afd83c6d10ced727929bc199101c URL: http://source.winehq.org/git/wine.git/?a=commit;h=cef8a52deae6afd83c6d10ced7...
Author: Nikolay Sivov nsivov@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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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,