OSDN Git Service

Memory leakage was fixed.
authortsntsumi <tsntsumi@users.sourceforge.jp>
Thu, 25 Sep 2003 20:21:40 +0000 (20:21 +0000)
committertsntsumi <tsntsumi@users.sourceforge.jp>
Thu, 25 Sep 2003 20:21:40 +0000 (20:21 +0000)
src/ccunit/CCUnitMakeSuite.c
src/ccunit/CCUnitReadSuite.c

index 2258bef..6660cce 100644 (file)
@@ -211,6 +211,7 @@ int ccunit_va_makeSuite (const char* prg, ...)
   size_t capacity = 10;
   char** av = calloc (10, sizeof (char*));
   int ac = 0;
+  int rc;
   av[0] = (char*)prg;
   va_start (args, prg);
   while (av[ac])
@@ -224,7 +225,9 @@ int ccunit_va_makeSuite (const char* prg, ...)
       av[ac] = va_arg (args, char*);
     }
   va_end (args);
-  return ccunit_makeSuite (ac, av);
+  rc = ccunit_makeSuite (ac, av);
+  free (av);
+  return rc;
 }
 
 /** @} */
index 45e82c7..0fd5238 100644 (file)
@@ -608,7 +608,9 @@ static void readTestFixture (CCUnitTestSuiteDef* suite, const char* cname)
              safe_free (doc);
              break;
            }
+         safe_free (desc);
          desc = doc;
+         doc = NULL;
        }
       else
        ;
@@ -643,8 +645,9 @@ static void readSuite (CCUnitTestSuiteDef* suite)
                          line.fname, line.lno, doc);
              safe_free (doc);
            }
-         else
-           desc = doc;
+         safe_free (desc);
+         desc = doc;
+         doc = NULL;
        }
       else if ((f = readTestCase ("void", "test", desc)) != NULL
               || (f = readTestCase ("void", "setUp", desc)) != NULL