diff options
author | Ola Olsson <ola1olsson@gmail.com> | 2015-12-11 15:04:52 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2015-12-15 07:11:26 -0500 |
commit | 707554b4d117330e58374990b6c27ded650dc684 (patch) | |
tree | bab455c1b2bd8fba19fddea8c15fd8963cee3a21 | |
parent | e5dbe0701a0d7c6127f313a0f68f960176f0209e (diff) |
nl80211: Fix potential memory leak in nl80211_connect
Free cached keys if the last early return path is taken.
Signed-off-by: Ola Olsson <ola.olsson@sonymobile.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r-- | net/wireless/nl80211.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 624174f20b1f..75b0d23ee882 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c | |||
@@ -7941,8 +7941,10 @@ static int nl80211_connect(struct sk_buff *skb, struct genl_info *info) | |||
7941 | if (nla_get_flag(info->attrs[NL80211_ATTR_USE_RRM])) { | 7941 | if (nla_get_flag(info->attrs[NL80211_ATTR_USE_RRM])) { |
7942 | if (!(rdev->wiphy.features & | 7942 | if (!(rdev->wiphy.features & |
7943 | NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES) || | 7943 | NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES) || |
7944 | !(rdev->wiphy.features & NL80211_FEATURE_QUIET)) | 7944 | !(rdev->wiphy.features & NL80211_FEATURE_QUIET)) { |
7945 | kzfree(connkeys); | ||
7945 | return -EINVAL; | 7946 | return -EINVAL; |
7947 | } | ||
7946 | connect.flags |= ASSOC_REQ_USE_RRM; | 7948 | connect.flags |= ASSOC_REQ_USE_RRM; |
7947 | } | 7949 | } |
7948 | 7950 | ||