From 23525b4ea5bc2dd67f8f65b90d023b6580ecbc36 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Tue, 22 Sep 2015 12:43:25 +0100 Subject: pixman-general: Tighten up calculation of temporary buffer sizes Each of the aligns can only add a maximum of 15 bytes to the space requirement. This permits some edge cases to use the stack buffer where previously it would have deduced that a heap buffer was required. Reviewed-by: Pekka Paalanen --- pixman/pixman-general.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pixman/pixman-general.c b/pixman/pixman-general.c index fa88463..6141cb0 100644 --- a/pixman/pixman-general.c +++ b/pixman/pixman-general.c @@ -158,9 +158,9 @@ general_composite_rect (pixman_implementation_t *imp, if (width <= 0 || _pixman_multiply_overflows_int (width, Bpp * 3)) return; - if (width * Bpp * 3 > sizeof (stack_scanline_buffer) - 32 * 3) + if (width * Bpp * 3 > sizeof (stack_scanline_buffer) - 15 * 3) { - scanline_buffer = pixman_malloc_ab_plus_c (width, Bpp * 3, 32 * 3); + scanline_buffer = pixman_malloc_ab_plus_c (width, Bpp * 3, 15 * 3); if (!scanline_buffer) return; -- cgit v1.2.3