Fix various memory leaks
authorJohn Darrington <john@darrington.wattle.id.au>
Sun, 4 Jul 2010 15:17:32 +0000 (17:17 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Sun, 4 Jul 2010 15:17:32 +0000 (17:17 +0200)
src/data/dictionary.c
src/libpspp/i18n.c
src/output/table-item.c

index aa0fcd5654d82181c23895793a7c88459e1e2dae..dc7e8732296ebc4703faa91cc429719ecff846b2 100644 (file)
@@ -298,6 +298,7 @@ dict_destroy (struct dictionary *d)
       hmap_destroy (&d->name_map);
       attrset_destroy (&d->attributes);
       free (d->mrsets);
+      free (d->encoding);
       free (d);
     }
 }
index 8e99aa04236cb1cf7cd326848b20461f4ceb2e7d..340d71d776dcccc120891afac1ee09c36317614d 100644 (file)
@@ -291,8 +291,11 @@ i18n_done (void)
 {
   struct hmapx_node *node;
   struct converter *cvtr;
+
   HMAPX_FOR_EACH (cvtr, node, &map)
     {
+      free (cvtr->tocode);
+      free (cvtr->fromcode);
       iconv_close (cvtr->conv);
       free (cvtr);
     }
index b709273f9e6a7ec9a159baad759885926337eb28..c7c0f91c9cea8ca20911661fa0ee7698f72d95bf 100644 (file)
@@ -84,6 +84,7 @@ table_item_destroy (struct output_item *output_item)
   struct table_item *item = to_table_item (output_item);
   free (item->caption);
   table_unref (item->table);
+  free (item);
 }
 
 const struct output_item_class table_item_class =