(cmd_crosstabs): Free xtab and the structures that it points to, to
authorBen Pfaff <blp@gnu.org>
Wed, 5 Sep 2007 04:49:41 +0000 (04:49 +0000)
committerBen Pfaff <blp@gnu.org>
Wed, 5 Sep 2007 04:49:41 +0000 (04:49 +0000)
plug a memory leak.  Fixes bug #18315.

src/language/stats/ChangeLog
src/language/stats/crosstabs.q

index 55c4a8e3f31511cb45ebb28646fa091cfbbf755e..e9ec8fcd0f20d162169bc866b652b918087730a7 100644 (file)
@@ -1,3 +1,8 @@
+2007-09-04  Ben Pfaff  <blp@gnu.org>
+
+       * crosstabs.q (cmd_crosstabs): Free xtab and the structures that
+       it points to, to plug a memory leak.  Fixes bug #18315.
+
 2007-08-15  Jason Stover  <jhs@wonko.gcsu.edu>
 
        * regression.q (identify_indep_vars): Print an error if dependent
index e57d9343c724ec96b2cb5badf2ec5eaa1fed48c1..8adf044c95129abbd2126f38e6a68b8aa602d9cf 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;
 }