Fix memory leaks
authorJohn Darrington <john@darrington.wattle.id.au>
Thu, 5 Jan 2012 09:55:29 +0000 (10:55 +0100)
committerJohn Darrington <john@darrington.wattle.id.au>
Thu, 5 Jan 2012 09:55:29 +0000 (10:55 +0100)
src/data/sys-file-reader.c
src/data/variable.c

index 9ec176f09f494f9562548918db80b61b31fa36f1..a0b49fcd583f5c96107a2cf0cdb2047cef34ec1e 100644 (file)
@@ -698,7 +698,7 @@ read_variable_record (struct sfm_reader *r, struct sfm_var_record *record)
 
       /* Read up to MAX_LABEL_LEN bytes of label. */
       read_len = MIN (MAX_LABEL_LEN, len);
-      record->label = xmalloc (read_len + 1);
+      record->label = pool_malloc (r->pool, read_len + 1);
       read_string (r, record->label, read_len + 1);
 
       /* Skip unread label bytes. */
index 537b247cd3885d0e72d0d3fd5d6800238e996853..2ceeecd2717c86212378bc783b0fea293d80d6bc 100644 (file)
@@ -158,6 +158,7 @@ var_destroy (struct variable *v)
       var_clear_aux (v);
       val_labs_destroy (v->val_labs);
       var_clear_label (v);
+      attrset_destroy (var_get_attributes (v));
       free (v->name);
       free (v);
     }