From 4af2d15cd5883aa10d92140a2ae11fa4bbee73f1 Mon Sep 17 00:00:00 2001 From: Jonathan Kew Date: Sun, 3 May 2026 17:00:55 +0000 Subject: [PATCH] Check surface for error in dwrite color-font code --- src/win32/cairo-dwrite-font.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/win32/cairo-dwrite-font.cpp b/src/win32/cairo-dwrite-font.cpp index aca908723..37e578a60 100644 --- a/src/win32/cairo-dwrite-font.cpp +++ b/src/win32/cairo-dwrite-font.cpp @@ -1340,6 +1340,11 @@ _cairo_dwrite_scaled_font_init_glyph_color_surface(cairo_dwrite_scaled_font_t *s return _cairo_dwrite_error (hr, "EndDraw failed"); cairo_surface_t *image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height); + cairo_status_t status = cairo_surface_status (image); + if (_cairo_status_is_error (status)) { + cairo_surface_destroy (image); + return (cairo_int_status_t) status; + } int stride = cairo_image_surface_get_stride (image); WICRect rect = { 0, 0, width, height }; bitmap->CopyPixels(&rect,