Fix memory leaks in ONEWAY command
[pspp] / src / language / stats / oneway.c
index 08449103c522f92e834ffda095404780729614b4..2a412a3d7e7cc14e133bbdea4970666062943e44 100644 (file)
@@ -628,6 +628,15 @@ makeit (const void *aux1, void *aux2 UNUSED)
   return dd;
 }
 
+static void 
+killit (const void *aux1 UNUSED, void *user_data)
+{
+  struct descriptive_data *dd = user_data;
+
+  dd_destroy (dd);
+}
+
+
 static void 
 updateit (const void *aux1, void *aux2, void *user_data,
          const struct ccase *c, double weight)
@@ -691,6 +700,7 @@ run_oneway (const struct oneway_spec *cmd,
       payload.create = makeit;
       payload.update = updateit;
       payload.calculate = NULL;
+      payload.destroy = killit;
 
       ws.vws[v].cat = categoricals_create (&inter, 1, cmd->wv,
                                            cmd->exclude, cmd->exclude);