diff --git a/pixman/pixman-region16.c b/pixman/pixman-region16.c index 1a0edfe..869e18d 100644 --- a/pixman/pixman-region16.c +++ b/pixman/pixman-region16.c @@ -47,6 +47,7 @@ pixman_region16_copy_from_region32 (pixman_region16_t *dst, int n_boxes, i; pixman_box32_t *boxes32; pixman_box16_t *boxes16; + pixman_bool_t retval; boxes32 = pixman_region32_rectangles (src, &n_boxes); @@ -64,7 +65,9 @@ pixman_region16_copy_from_region32 (pixman_region16_t *dst, } pixman_region_fini (dst); - return pixman_region_init_rects (dst, boxes16, n_boxes); + retval = pixman_region_init_rects (dst, boxes16, n_boxes); + free (boxes16); + return retval; } #include "pixman-region.c" diff --git a/pixman/pixman-region32.c b/pixman/pixman-region32.c index 4b5598d..6e083b5 100644 --- a/pixman/pixman-region32.c +++ b/pixman/pixman-region32.c @@ -45,6 +45,7 @@ pixman_region32_copy_from_region16 (pixman_region32_t *dst, int n_boxes, i; pixman_box16_t *boxes16; pixman_box32_t *boxes32; + pixman_bool_t retval; boxes16 = pixman_region_rectangles (src, &n_boxes); @@ -62,7 +63,9 @@ pixman_region32_copy_from_region16 (pixman_region32_t *dst, } pixman_region32_fini (dst); - return pixman_region32_init_rects (dst, boxes32, n_boxes); + retval = pixman_region32_init_rects (dst, boxes32, n_boxes); + free (boxes32); + return retval; } #include "pixman-region.c"