From: Wei Yongjun Date: Sun, 2 Sep 2012 13:41:04 +0000 (+0800) Subject: nl80211: fix possible memory leak nl80211_connect() X-Git-Tag: upstream/snapshot3+hdmi~6176^2~2^2~4^2~25 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b4e4f47e940bc93c5b1125a4429ff53956754800;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git nl80211: fix possible memory leak nl80211_connect() connkeys is malloced in nl80211_parse_connkeys() and should be freed in the error handling case, otherwise it will cause memory leak. spatch with a semantic match is used to found this problem. (http://coccinelle.lip6.fr/) Signed-off-by: Wei Yongjun Signed-off-by: Johannes Berg --- diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 97026f3..1e37dbf 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -5633,8 +5633,10 @@ static int nl80211_connect(struct sk_buff *skb, struct genl_info *info) sizeof(connect.ht_capa_mask)); if (info->attrs[NL80211_ATTR_HT_CAPABILITY]) { - if (!info->attrs[NL80211_ATTR_HT_CAPABILITY_MASK]) + if (!info->attrs[NL80211_ATTR_HT_CAPABILITY_MASK]) { + kfree(connkeys); return -EINVAL; + } memcpy(&connect.ht_capa, nla_data(info->attrs[NL80211_ATTR_HT_CAPABILITY]), sizeof(connect.ht_capa));