zip-reader: Make the zip_reader reference counted.
[pspp] / src / output / output-item.c
index c39e8cd32655843180078a341fd0df5971a0d8f3..1b7b4b7d1c06c90714fce02a49ec45e6f70680e5 100644 (file)
@@ -45,6 +45,7 @@ struct output_item *
 output_item_ref (const struct output_item *item_)
 {
   struct output_item *item = CONST_CAST (struct output_item *, item_);
+  assert (item->ref_cnt > 0);
   item->ref_cnt++;
   return item;
 }
@@ -305,7 +306,7 @@ image_item_create (cairo_surface_t *image)
 struct output_item *
 message_item_create (const struct msg *msg)
 {
-  struct output_item *item = xmalloc (sizeof *msg);
+  struct output_item *item = xmalloc (sizeof *item);
   *item = (struct output_item) {
     OUTPUT_ITEM_INITIALIZER (OUTPUT_ITEM_MESSAGE),
     .message = msg_dup (msg),