From: Johannes Berg Date: Sat, 15 Dec 2018 09:03:22 +0000 (+0200) Subject: nl80211: fix memory leak if validate_pae_over_nl80211() fails X-Git-Tag: v4.19.15~85 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=366fc5858720b749d52a32ec15c8420939092b2a;p=users%2Fdwmw2%2Flinux.git nl80211: fix memory leak if validate_pae_over_nl80211() fails [ Upstream commit d350a0f431189517b1af0dbbb605c273231a8966 ] If validate_pae_over_nl80211() were to fail in nl80211_crypto_settings(), we might leak the 'connkeys' allocation. Fix this. Fixes: 64bf3d4bc2b0 ("nl80211: Add CONTROL_PORT_OVER_NL80211 attribute") Signed-off-by: Johannes Berg Signed-off-by: Sasha Levin --- diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 176edfefcbaa8..295cd8d5554f6 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -8993,8 +8993,10 @@ static int nl80211_join_ibss(struct sk_buff *skb, struct genl_info *info) if (info->attrs[NL80211_ATTR_CONTROL_PORT_OVER_NL80211]) { int r = validate_pae_over_nl80211(rdev, info); - if (r < 0) + if (r < 0) { + kzfree(connkeys); return r; + } ibss.control_port_over_nl80211 = true; }