wpa_priv: Fix early exit path
authorJouni Malinen <j@w1.fi>
Sat, 5 Sep 2015 08:41:49 +0000 (11:41 +0300)
committerJouni Malinen <j@w1.fi>
Sat, 5 Sep 2015 08:41:49 +0000 (11:41 +0300)
eloop_destroy() cannot be called before eloop_init() have been called
successfully.

Signed-off-by: Jouni Malinen <j@w1.fi>
wpa_supplicant/wpa_priv.c

index 4611a1d..dd43122 100644 (file)
@@ -982,20 +982,20 @@ int main(int argc, char *argv[])
                        break;
                default:
                        usage();
-                       goto out;
+                       goto out2;
                }
        }
 
        if (optind >= argc) {
                usage();
-               goto out;
+               goto out2;
        }
 
        wpa_printf(MSG_DEBUG, "wpa_priv control directory: '%s'", ctrl_dir);
 
        if (eloop_init()) {
                wpa_printf(MSG_ERROR, "Failed to initialize event loop");
-               goto out;
+               goto out2;
        }
 
        for (i = optind; i < argc; i++) {
@@ -1025,7 +1025,9 @@ out:
 
        eloop_destroy();
 
-       os_daemonize_terminate(pid_file);
+out2:
+       if (daemonize)
+               os_daemonize_terminate(pid_file);
        os_free(pid_file);
        os_program_deinit();