aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/net
diff options
context:
space:
mode:
authorLuca Coelho <luciano.coelho@intel.com>2020-06-26 12:49:39 +0300
committerJohannes Berg <johannes.berg@intel.com>2020-06-26 11:52:52 +0200
commitbc7a39b4272b9672d806d422b6850e8c1a09914c (patch)
treedfbed4bd618ec867a78d080468e9e3387ff162fe /net
parentmac80211: allow rx of mesh eapol frames with default rx key (diff)
downloadwireguard-linux-bc7a39b4272b9672d806d422b6850e8c1a09914c.tar.xz
wireguard-linux-bc7a39b4272b9672d806d422b6850e8c1a09914c.zip
nl80211: don't return err unconditionally in nl80211_start_ap()
When a memory leak was fixed, a return err was changed to goto err, but, accidentally, the if (err) was removed, so now we always exit at this point. Fix it by adding if (err) back. Fixes: 9951ebfcdf2b ("nl80211: fix potential leak in AP start") Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Link: https://lore.kernel.org/r/iwlwifi.20200626124931.871ba5b31eee.I97340172d92164ee92f3c803fe20a8a6e97714e1@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r--net/wireless/nl80211.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 263ae395ad44..f31698fd4a7e 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -5016,7 +5016,8 @@ static int nl80211_start_ap(struct sk_buff *skb, struct genl_info *info)
err = nl80211_parse_he_obss_pd(
info->attrs[NL80211_ATTR_HE_OBSS_PD],
&params.he_obss_pd);
- goto out;
+ if (err)
+ goto out;
}
if (info->attrs[NL80211_ATTR_HE_BSS_COLOR]) {