dwrite: Handle bitmap allocation error when rendering to bitmap target.
authorNikolay Sivov <nsivov@codeweavers.com>
Wed, 13 Jan 2016 19:41:13 +0000 (22:41 +0300)
committerAlexandre Julliard <julliard@winehq.org>
Thu, 14 Jan 2016 07:32:52 +0000 (16:32 +0900)
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
dlls/dwrite/gdiinterop.c

index ded37312441ef55a6328b6b627b09a1fea58fd43..794ebeeacb1e14859e001afd09791b9e5702416e 100644 (file)
@@ -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 */