]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Move wpa_s freeing into wpa_supplicant_deinit_iface()
authorJouni Malinen <j@w1.fi>
Tue, 23 Apr 2013 15:07:41 +0000 (18:07 +0300)
committerJouni Malinen <j@w1.fi>
Tue, 23 Apr 2013 15:07:41 +0000 (18:07 +0300)
All wpa_supplicant_deinit_iface() callers ended up freeing wpa_s
immediately after this call. Move os_free(wpa_s) into the deinit
function to share the same call and make the deinit sequence clearer.

Signed-hostap: Jouni Malinen <j@w1.fi>

wpa_supplicant/wpa_supplicant.c

index 8a7bbd940fc09b69f1f1d70cda5c56db618303e0..dc404a387f0b30be27e8e380d33b74ad80d82f9e 100644 (file)
@@ -3055,6 +3055,8 @@ static void wpa_supplicant_deinit_iface(struct wpa_supplicant *wpa_s,
                wpa_config_free(wpa_s->conf);
                wpa_s->conf = NULL;
        }
+
+       os_free(wpa_s);
 }
 
 
@@ -3105,14 +3107,12 @@ struct wpa_supplicant * wpa_supplicant_add_iface(struct wpa_global *global,
                wpa_printf(MSG_DEBUG, "Failed to add interface %s",
                           iface->ifname);
                wpa_supplicant_deinit_iface(wpa_s, 0, 0);
-               os_free(wpa_s);
                return NULL;
        }
 
        /* Notify the control interfaces about new iface */
        if (wpas_notify_iface_added(wpa_s)) {
                wpa_supplicant_deinit_iface(wpa_s, 1, 0);
-               os_free(wpa_s);
                return NULL;
        }
 
@@ -3165,7 +3165,6 @@ int wpa_supplicant_remove_iface(struct wpa_global *global,
        if (global->p2p_invite_group == wpa_s)
                global->p2p_invite_group = NULL;
        wpa_supplicant_deinit_iface(wpa_s, 1, terminate);
-       os_free(wpa_s);
 
        return 0;
 }