diff options
author | Maximilian Grothusmann <maxi@own-hero.net> | 2008-06-13 12:44:50 -0700 |
---|---|---|
committer | Donnie Berkholz <dberkholz@gentoo.org> | 2008-06-13 12:44:50 -0700 |
commit | 29d144712e558aaeb49f4384028dd669d76a410b (patch) | |
tree | 000591f713aa8cf271a6f66915348a1896d4a6b4 /pixman/pixman-region16.c | |
parent | 5d32519316b40b35113c6df9e15d955a16709ba2 (diff) | |
download | pixman-29d144712e558aaeb49f4384028dd669d76a410b.tar.gz |
Fix memory leak by freeing boxes{16,32}.
After calling pixman_region_init_rects() or
pixman_region32_init_rects(), boxes{16,32} were not freed before
returning. Fixes bug 16312.
Diffstat (limited to 'pixman/pixman-region16.c')
-rw-r--r-- | pixman/pixman-region16.c | 5 |
1 files changed, 4 insertions, 1 deletions
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" |