summaryrefslogtreecommitdiff
path: root/src/cairo-win32-surface.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2007-10-04 00:38:12 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2007-10-04 00:42:30 +0100
commit8ad56b308ae8bbecfe9873c21551a6d4b2302420 (patch)
treea9c8791e8c30f70fc24a1b1ade069e54c23d98be /src/cairo-win32-surface.c
parent66664596559c55913fb0b9c8784fe8ab862c217b (diff)
[malloc/error] Add call to _cairo_error() after a failed malloc.
Blitz all allocations to ensure that they raise a _cairo_error(CAIRO_STATUS_NO_MEMORY) on failure.
Diffstat (limited to 'src/cairo-win32-surface.c')
-rw-r--r--src/cairo-win32-surface.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cairo-win32-surface.c b/src/cairo-win32-surface.c
index 1b1a2ff8..4b27a8db 100644
--- a/src/cairo-win32-surface.c
+++ b/src/cairo-win32-surface.c
@@ -187,8 +187,10 @@ _create_dc_and_bitmap (cairo_win32_surface_t *surface,
if (num_palette > 2) {
bitmap_info = _cairo_malloc_ab_plus_c (num_palette, sizeof(RGBQUAD), sizeof(BITMAPINFOHEADER));
- if (!bitmap_info)
+ if (!bitmap_info) {
+ _cairo_error (CAIRO_STATUS_NO_MEMORY);
return CAIRO_STATUS_NO_MEMORY;
+ }
} else {
bitmap_info = (BITMAPINFO *)&bmi_stack;
}
@@ -1467,6 +1469,7 @@ _cairo_win32_surface_set_clip_region (void *abstract_surface,
data = malloc (data_size);
if (!data) {
_cairo_region_boxes_fini (region, boxes);
+ _cairo_error (CAIRO_STATUS_NO_MEMORY);
return CAIRO_STATUS_NO_MEMORY;
}
rects = (RECT *)data->Buffer;