Fix memory leak in output rendering
authorJohn Darrington <john@darrington.wattle.id.au>
Thu, 30 Sep 2010 08:51:49 +0000 (10:51 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Thu, 30 Sep 2010 09:11:15 +0000 (11:11 +0200)
src/output/render.c

index 25dd28b56fde3f46433dfa4a3218a8e9f680c21a..8c02833ceef3b225669851ef67cc13221726612f 100644 (file)
@@ -778,6 +778,7 @@ render_page_unref (struct render_page *page)
 {
   if (page != NULL && --page->ref_cnt == 0)
     {
+      int i;
       struct render_overflow *overflow, *next;
 
       HMAP_FOR_EACH_SAFE (overflow, next, struct render_overflow, node,
@@ -786,8 +787,13 @@ render_page_unref (struct render_page *page)
       hmap_destroy (&page->overflows);
 
       table_unref (page->table);
-      free (page->cp[H]);
-      free (page->cp[V]);
+      
+      for (i = 0; i < TABLE_N_AXES; ++i)
+       {
+         free (page->join_crossing[i]);
+         free (page->cp[i]);
+       }
+
       free (page);
     }
 }
@@ -1393,4 +1399,3 @@ insert_overflow (struct render_page_selection *s,
 
   return of;
 }
-