fix memleak
[oweals/gnunet.git] / src / testbed / test_testbed_api_testbed_run.c
index d39cae804022833705e8ea30c57d1c3f2b09b19f..ced1faf9cebd277217e37af5932b186b0515e8df 100644 (file)
@@ -179,13 +179,26 @@ main (int argc, char **argv)
   char *config_filename;
   int ret;
 
-  testname = rindex (argv[0], (int) '_');
+  testname = strrchr (argv[0], (int) '_');
   testname++;
   if (NULL == testname)
   {
     GNUNET_break (0);
     return 1;
   }
+  testname = GNUNET_strdup (testname);
+#ifdef MINGW
+  {
+    char *period;
+
+    /* check and remove .exe extension */
+    period = strrchr (testname, (int) '.');
+    if (NULL != period)
+      *period = '\0';
+    else
+      GNUNET_break (0);         /* Windows with no .exe? */
+  }
+#endif
   if (0 != strcmp ("run", testname))
   {
     GNUNET_asprintf (&config_filename, 
@@ -193,6 +206,7 @@ main (int argc, char **argv)
   }
   else
     config_filename = GNUNET_strdup ("test_testbed_api.conf");
+  GNUNET_free (testname);
   argv2[2] = config_filename;
   result = GNUNET_SYSERR;
   ret =