nl80211: fix potential leak in AP start
If nl80211_parse_he_obss_pd() fails, we leak the previously
allocated ACL memory. Free it in this case.
Fixes: 796e90f42b
("cfg80211: add support for parsing OBBS_PD attributes")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Link: https://lore.kernel.org/r/20200221104142.835aba4cdd14.I1923b55ba9989c57e13978f91f40bfdc45e60cbd@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Родитель
36a44bcdd8
Коммит
9951ebfcdf
|
@ -4800,8 +4800,7 @@ static int nl80211_start_ap(struct sk_buff *skb, struct genl_info *info)
|
||||||
err = nl80211_parse_he_obss_pd(
|
err = nl80211_parse_he_obss_pd(
|
||||||
info->attrs[NL80211_ATTR_HE_OBSS_PD],
|
info->attrs[NL80211_ATTR_HE_OBSS_PD],
|
||||||
¶ms.he_obss_pd);
|
¶ms.he_obss_pd);
|
||||||
if (err)
|
goto out;
|
||||||
return err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nl80211_calculate_ap_params(¶ms);
|
nl80211_calculate_ap_params(¶ms);
|
||||||
|
@ -4823,6 +4822,7 @@ static int nl80211_start_ap(struct sk_buff *skb, struct genl_info *info)
|
||||||
}
|
}
|
||||||
wdev_unlock(wdev);
|
wdev_unlock(wdev);
|
||||||
|
|
||||||
|
out:
|
||||||
kfree(params.acl);
|
kfree(params.acl);
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче