After calling pixman_region_init_rects() or
pixman_region32_init_rects(), boxes{16,32} were not freed before
returning. Fixes bug 16312.
int n_boxes, i;
pixman_box32_t *boxes32;
pixman_box16_t *boxes16;
+ pixman_bool_t retval;
boxes32 = pixman_region32_rectangles (src, &n_boxes);
}
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"
int n_boxes, i;
pixman_box16_t *boxes16;
pixman_box32_t *boxes32;
+ pixman_bool_t retval;
boxes16 = pixman_region_rectangles (src, &n_boxes);
}
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"