Don't call exit_control() if we didn't do init_control().
authorGuus Sliepen <guus@tinc-vpn.org>
Sat, 25 Jun 2011 19:16:13 +0000 (21:16 +0200)
committerGuus Sliepen <guus@tinc-vpn.org>
Sat, 25 Jun 2011 19:16:13 +0000 (21:16 +0200)
src/tincd.c

index 23845ff..9d2b03b 100644 (file)
@@ -92,7 +92,7 @@ char *logfilename = NULL;                     /* log file location */
 char *controlcookiename = NULL;
 char **g_argv;                                 /* a copy of the cmdline arguments */
 
-static int status;
+static int status = 1;
 
 static struct option const long_options[] = {
        {"config", required_argument, NULL, 'c'},
@@ -434,10 +434,10 @@ int main2(int argc, char **argv) {
        /* Setup sockets and open device. */
 
        if(!setup_network())
-               goto end;
+               goto end_nonet;
 
        if(!init_control())
-               return 1;
+               goto end_nonet;
 
        /* Initiate all outgoing connections. */
 
@@ -488,10 +488,11 @@ int main2(int argc, char **argv) {
        close_network_connections();
 
 end:
-       logger(LOG_NOTICE, "Terminating");
-
        exit_control();
 
+end_nonet:
+       logger(LOG_NOTICE, "Terminating");
+
        crypto_exit();
 
        exit_configuration(&config_tree);