New test for bug #21117.
[pspp-builds.git] / src / language / stats / crosstabs.q
index e57d9343c724ec96b2cb5badf2ec5eaa1fed48c1..0dbb83719ac434a925e36cf2040553a2f3df1c33 100644 (file)
@@ -191,11 +191,16 @@ int
 cmd_crosstabs (struct lexer *lexer, struct dataset *ds)
 {
   int result = internal_cmd_crosstabs (lexer, ds);
+  int i;
 
   free (variables);
   pool_destroy (pl_tc);
   pool_destroy (pl_col);
 
+  for (i = 0; i < nxtab; i++)
+    free (xtab[i]);
+  free (xtab);
+
   return result;
 }
 
@@ -822,6 +827,16 @@ postcalc (void)
   }
 
   hsh_destroy (gen_tab);
+  if (mode == INTEGER)
+    {
+      int i;
+      for (i = 0; i < n_sorted_tab; i++)
+        {
+          free (sorted_tab[i]->u.data);
+          free (sorted_tab[i]);
+        }
+      free (sorted_tab);
+    }
 }
 
 static void insert_summary (struct tab_table *, int tab_index, double valid);