]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
D-Bus: Fix memory leak on P2PDeviceConfig::VendorExtension
authorJouni Malinen <j@w1.fi>
Wed, 31 Dec 2014 11:05:51 +0000 (13:05 +0200)
committerJouni Malinen <j@w1.fi>
Wed, 31 Dec 2014 11:07:13 +0000 (13:07 +0200)
The wps_vendor_ext array can be set using D-Bus Set(P2PDeviceConfig)
with the VendorExtension key in the dictionary. However, there was no
code for freeing the allocated memory when the interface is removed.

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

index f478a040f96cc48e14de1bf6f0b5a764c782bbaa..4ebf684341ee301e39c95fd6a26a87839fea437d 100644 (file)
@@ -2161,6 +2161,7 @@ void wpa_config_free(struct wpa_config *config)
 {
        struct wpa_ssid *ssid, *prev = NULL;
        struct wpa_cred *cred, *cprev;
+       int i;
 
        ssid = config->ssid;
        while (ssid) {
@@ -2179,6 +2180,8 @@ void wpa_config_free(struct wpa_config *config)
        wpa_config_flush_blobs(config);
 
        wpabuf_free(config->wps_vendor_ext_m1);
+       for (i = 0; i < MAX_WPS_VENDOR_EXT; i++)
+               wpabuf_free(config->wps_vendor_ext[i]);
        os_free(config->ctrl_interface);
        os_free(config->ctrl_interface_group);
        os_free(config->opensc_engine_path);