aboutsummaryrefslogtreecommitdiffstats
path: root/src/starter
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2010-05-02 11:00:21 +0200
committerAndreas Steffen <andreas.steffen@strongswan.org>2010-05-02 11:00:21 +0200
commit2724ae521e50c34755dac2abc190785b5c4edaa6 (patch)
treebbe116481660852078a79e87d16199d6000c06fc /src/starter
parent726c0ae9d3d0b0784c64687913001c69670084de (diff)
downloadstrongswan-2724ae521e50c34755dac2abc190785b5c4edaa6.tar.bz2
strongswan-2724ae521e50c34755dac2abc190785b5c4edaa6.tar.xz
free config before exiting since library_deinit() calls leak detective
Diffstat (limited to 'src/starter')
-rw-r--r--src/starter/starter.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/starter/starter.c b/src/starter/starter.c
index a740b260d..50ef9c07b 100644
--- a/src/starter/starter.c
+++ b/src/starter/starter.c
@@ -362,6 +362,7 @@ int main (int argc, char **argv)
if (stat(STARTER_PID_FILE, &stb) == 0)
{
plog("starter is already running (%s exists) -- no fork done", STARTER_PID_FILE);
+ confread_free(cfg);
exit(LSB_RC_SUCCESS);
}
@@ -392,6 +393,7 @@ int main (int argc, char **argv)
plog("can't fork: %s", strerror(errno));
break;
default:
+ confread_free(cfg);
exit(LSB_RC_SUCCESS);
}
}
@@ -426,11 +428,8 @@ int main (int argc, char **argv)
confread_free(cfg);
unlink(STARTER_PID_FILE);
unlink(INFO_FILE);
-#ifdef LEAK_DETECTIVE
- report_leaks();
-#endif /* LEAK_DETECTIVE */
- close_log();
plog("ipsec starter stopped");
+ close_log();
exit(LSB_RC_SUCCESS);
}