From 54e06b4ffba38c091b1e39de39cd771d6c9031c8 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Wed, 31 Dec 2014 13:05:51 +0200 Subject: [PATCH] D-Bus: Fix memory leak on P2PDeviceConfig::VendorExtension 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 --- wpa_supplicant/config.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c index f478a040f..4ebf68434 100644 --- a/wpa_supplicant/config.c +++ b/wpa_supplicant/config.c @@ -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);