dataset: Fix memory leak destroying a dataset that has a permanent_dict.
[pspp] / src / data / casereader.c
index 5695d7cfa8d7665be98ab8d8c4031b7a698fbb02..578a865dfd459372d528708b866038d32ca48eb4 100644 (file)
@@ -1,4 +1,4 @@
-/* pspp - a program for statistical analysis.
+/* PSPP - a program for statistical analysis.
    Copyright (C) 2007, 2009, 2010, 2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -107,7 +107,7 @@ casereader_clone (const struct casereader *reader_)
 {
   struct casereader *reader = CONST_CAST (struct casereader *, reader_);
   struct casereader *clone;
-  if ( reader == NULL ) 
+  if (reader == NULL)
     return NULL;
 
   if (reader->class->clone == NULL)
@@ -239,12 +239,13 @@ static casenumber
 casereader_count_cases__ (const struct casereader *reader,
                           casenumber max_cases)
 {
-  struct casereader *clone = casereader_clone (reader);
-  casenumber n_cases = casereader_advance (clone, max_cases);
-#if (__GNUC__ == 4 ) && (__GNUC_MINOR__ == 4)
-  // volatile int x = 1;
-#endif
-  //  casereader_destroy (clone);
+  struct casereader *clone;
+  casenumber n_cases;
+
+  clone = casereader_clone (reader);
+  n_cases = casereader_advance (clone, max_cases);
+  casereader_destroy (clone);
+
   return n_cases;
 }