DESCRIPTIVES: Fix a pair of memory leaks.
authorBen Pfaff <blp@cs.stanford.edu>
Tue, 21 May 2013 05:35:35 +0000 (22:35 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Tue, 21 May 2013 05:54:52 +0000 (22:54 -0700)
src/language/stats/descriptives.c

index 8efb5f1fb46209814c77baf4e9d1b499f31ee9bd..94421ef1e979807776a954d354c5be08019fcccc 100644 (file)
@@ -689,6 +689,8 @@ descriptives_trns_free (void *trns_)
   casereader_destroy (t->z_reader);
   assert((t->missing_type != DSC_LISTWISE) ^ (t->vars != NULL));
   free (t->vars);
+  free (t);
+
   return ok;
 }
 
@@ -732,11 +734,13 @@ setup_z_trns (struct dsc_proc *dsc, struct dataset *ds)
        {
           struct dsc_z_score *z;
          struct variable *dst_var;
+          char *label;
 
          dst_var = dict_create_var_assert (dataset_dict (ds), dv->z_name, 0);
-          var_set_label (dst_var,
-                         xasprintf (_("Z-score of %s"),var_to_string (dv->v)),
-                         false);
+
+          label = xasprintf (_("Z-score of %s"),var_to_string (dv->v));
+          var_set_label (dst_var, label, false);
+          free (label);
 
           z = &t->z_scores[cnt++];
           z->src_var = dv->v;