pspp-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pspp-cvs] pspp/src/language/tests ChangeLog casefile-test.c


From: Ben Pfaff
Subject: [Pspp-cvs] pspp/src/language/tests ChangeLog casefile-test.c
Date: Sat, 14 Oct 2006 23:23:17 +0000

CVSROOT:        /cvsroot/pspp
Module name:    pspp
Changes by:     Ben Pfaff <blp> 06/10/14 23:23:17

Modified files:
        src/language/tests: ChangeLog casefile-test.c 

Log message:
        Fix memory leak in test_casereader_clone().

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/tests/ChangeLog?cvsroot=pspp&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/tests/casefile-test.c?cvsroot=pspp&r1=1.5&r2=1.6

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/pspp/pspp/src/language/tests/ChangeLog,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- ChangeLog   7 Jun 2006 01:48:47 -0000       1.2
+++ ChangeLog   14 Oct 2006 23:23:17 -0000      1.3
@@ -1,3 +1,8 @@
+Sat Oct 14 16:21:45 2006  Ben Pfaff  <address@hidden>
+
+       * casefile-test.c: (test_casereader_clone) Free cases that we
+       read, to avoid memory leak.
+
 Tue Jun  6 18:48:00 2006  Ben Pfaff  <address@hidden>
 
        * casefile-test.c: (test_casefile) Test the new casereader_seek()

Index: casefile-test.c
===================================================================
RCS file: /cvsroot/pspp/pspp/src/language/tests/casefile-test.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- casefile-test.c     25 Sep 2006 09:35:15 -0000      1.5
+++ casefile-test.c     14 Oct 2006 23:23:17 -0000      1.6
@@ -232,14 +232,17 @@
 
   /* Read a 3rd of the cases */
   for ( i = 0 ; i < case_cnt / 3 ; ++i ) 
+    {
     casereader_read (reader1, &c1);
+      case_destroy (&c1);
+    }
 
   clone = casereader_clone (reader1);
 
   /* Copy all the cases into a new file */
   while( casereader_read (reader1, &c1))
     { 
-      casefile_append (newfile, &c1);
+      casefile_append_xfer (newfile, &c1);
       cases ++;
     }
 
@@ -254,13 +257,19 @@
       cases --;
 
       if ( ! casereader_read_xfer (newreader, &c2) ) 
+        {
+          case_destroy (&c1);
        break;
+        }
       
       v1 = case_data_all (&c1) ;
       v2 = case_data_all (&c2) ;
 
       if ( 0 != memcmp (v1, v2, value_cnt * MAX_SHORT_STRING))
        fail_test ("Cloned reader read different value at case %ld", cases);
+
+      case_destroy (&c1);
+      case_destroy (&c2);
     }
 
   if ( cases > 0 ) 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]