src/output/output-item.c (output_item_unref): Fix memory leak
[pspp] / src / output / output-item.c
index 25cffe460090d9e05cb30a5610f737c64ba18054..97f51f7604ff4bac4b57912527c95e20fd3f2ee0 100644 (file)
@@ -86,6 +86,7 @@ output_item_unref (struct output_item *item)
             case OUTPUT_ITEM_GROUP:
               for (size_t i = 0; i < item->group.n_children; i++)
                 output_item_unref (item->group.children[i]);
+              free (item->group.children);
               break;
 
             case OUTPUT_ITEM_IMAGE:
@@ -164,7 +165,7 @@ output_item_unshare (struct output_item *old)
         = old->group.n_children;
 
       for (size_t i = 0; i < new->group.n_children; i++)
-        output_item_ref (new->group.children[i]);
+        new->group.children[i] = output_item_ref (new->group.children[i]);
       break;
 
     case OUTPUT_ITEM_IMAGE: