From: Jouni Malinen Date: Tue, 22 Oct 2013 10:35:32 +0000 (+0300) Subject: nl80211: Free BSS structure even if netdev does not exists X-Git-Tag: hostap_2_1~809 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2b72df6374166bdc0fcf868646f87ad70b1f2dcd;p=thirdparty%2Fhostap.git nl80211: Free BSS structure even if netdev does not exists It is possible for a vif netdev to be removed by something else than hostapd and if that happens for a virtual AP interface, if_remove() handler should still free the local data structure to avoid memory leaks if something external removes a netdev. Signed-hostap: Jouni Malinen --- diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index e7d3d20d5..9539c0fad 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -9251,10 +9251,8 @@ static int wpa_driver_nl80211_if_remove(struct i802_bss *bss, wpa_printf(MSG_DEBUG, "nl80211: %s(type=%d ifname=%s) ifindex=%d", __func__, type, ifname, ifindex); - if (ifindex <= 0) - return -1; - - nl80211_remove_iface(drv, ifindex); + if (ifindex > 0) + nl80211_remove_iface(drv, ifindex); #ifdef HOSTAPD if (type != WPA_IF_AP_BSS)