From 31a40a172591ab373add9dd41a52881bea9dc6f2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=B8ren=20Sandmann=20Pedersen?= Date: Wed, 8 Jul 2009 18:41:41 -0400 Subject: [PATCH] Eliminate boxes with x1 > x2 or y1 > y2 in pixman_region_init_rects(). --- pixman/pixman-region.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pixman/pixman-region.c b/pixman/pixman-region.c index 0e1791c..e5a92ef 100644 --- a/pixman/pixman-region.c +++ b/pixman/pixman-region.c @@ -2122,14 +2122,14 @@ PREFIX(_init_rects) (region_type_t *region, memcpy (rects, boxes, sizeof(box_type_t) * count); region->data->numRects = count; - /* Eliminate empty rectangles */ + /* Eliminate empty and malformed rectangles */ displacement = 0; for (i = 0; i < count; ++i) { box_type_t *box = &rects[i]; - if (box->x1 == box->x2 || box->y1 == box->y2) + if (box->x1 >= box->x2 || box->y1 >= box->y2) displacement++; else if (displacement) rects[i - displacement] = rects[i]; -- 2.7.4