--- ./pixman/pixman-region16.c.orig	2008-06-09 00:56:34.000000000 -0500
+++ ./pixman/pixman-region16.c	2008-06-28 13:26:47.000000000 -0500
@@ -28,6 +28,7 @@
 
 #undef PIXMAN_DISABLE_DEPRECATED
 
+#include <stdlib.h>
 #include "pixman-private.h"
 
 typedef pixman_box16_t		box_type_t;
@@ -47,6 +48,7 @@
     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 +66,9 @@
     }
 
     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"
--- ./pixman/pixman-region32.c.orig	2008-06-09 00:56:34.000000000 -0500
+++ ./pixman/pixman-region32.c	2008-06-28 13:26:46.000000000 -0500
@@ -26,6 +26,7 @@
 #include <config.h>
 #endif
 
+#include <stdlib.h>
 #include "pixman-private.h"
 
 typedef pixman_box32_t		box_type_t;
@@ -45,6 +46,7 @@
     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 +64,9 @@
     }
 
     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"
