diff --git a/dlls/dwrite/gdiinterop.c b/dlls/dwrite/gdiinterop.c index ded37312441ef55a6328b6b627b09a1fea58fd43..794ebeeacb1e14859e001afd09791b9e5702416e 100644 --- a/dlls/dwrite/gdiinterop.c +++ b/dlls/dwrite/gdiinterop.c @@ -422,6 +422,11 @@ static HRESULT WINAPI rendertarget_DrawGlyphRun(IDWriteBitmapRenderTarget1 *ifac if (texturetype == DWRITE_TEXTURE_CLEARTYPE_3x1) size *= 3; bitmap = heap_alloc_zero(size); + if (!bitmap) { + IDWriteGlyphRunAnalysis_Release(analysis); + return E_OUTOFMEMORY; + } + hr = IDWriteGlyphRunAnalysis_CreateAlphaTexture(analysis, texturetype, &target, bitmap, size); if (hr == S_OK) { /* blit to target dib */