[PATCH cairo 2/3] bo: Check null return from _cairo_malloc_ab() (CID #1159556)
Bryce Harrington <[email protected]> Fri, 8 Jun 2018 22:34:26 -0700
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <[email protected]> |
_cairo_malloc_ab() can return NULL under some circumstances, and all other callers of this routine in the Cairo codebase check its return, so do so here as well. (I'm not sure that cairo-bentley-ottmann.c is actually plugged in anywhere for actual use, so this change may be more to quell Coverity than fix an actual likely bug. However, the bo code has been used as a starting point when writing compositors so perhaps is a useful thing to cleanup.) Coverity ID: #1159556 Signed-off-by: Bryce Harrington <[email protected]> --- src/cairo-bentley-ottmann.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/cairo-bentley-ottmann.c b/src/cairo-bentley-ottmann.c index 91e41f9..afe3a63 100644 --- a/src/cairo-bentley-ottmann.c +++ b/src/cairo-bentley-ottmann.c @@ -1484,10 +1484,13 @@ _cairo_bentley_ottmann_tessellate_polygon (cairo_traps_t *traps, ymin = _cairo_fixed_integer_floor (polygon->limit.p1.y); ymax = _cairo_fixed_integer_ceil (polygon->limit.p2.y) - ymin; - if (ymax > 64) + if (ymax > 64) { event_y = _cairo_malloc_ab(sizeof (cairo_bo_event_t*), ymax); - else + if (unlikely (event_y == NULL)) + return _cairo_error (CAIRO_STATUS_NO_MEMORY); + } else { event_y = stack_event_y; + } memset (event_y, 0, ymax * sizeof(cairo_bo_event_t *)); } -- 2.7.4 -- cairo mailing list [email protected] https://lists.cairographics.org/mailman/listinfo/cairo