| From 5b2bbf75a24d6b06afff6de0eb4819413fd81971 Mon Sep 17 00:00:00 2001 |
| From: Johannes Berg <johannes.berg@intel.com> |
| Date: Tue, 8 Nov 2011 13:04:41 +0100 |
| Subject: mac80211: fix bug in ieee80211_build_probe_req |
| |
| From: Johannes Berg <johannes.berg@intel.com> |
| |
| commit 5b2bbf75a24d6b06afff6de0eb4819413fd81971 upstream. |
| |
| ieee80211_probereq_get() can return NULL in |
| which case we should clean up & return NULL |
| in ieee80211_build_probe_req() as well. |
| |
| Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| net/mac80211/util.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| --- a/net/mac80211/util.c |
| +++ b/net/mac80211/util.c |
| @@ -1047,6 +1047,8 @@ struct sk_buff *ieee80211_build_probe_re |
| skb = ieee80211_probereq_get(&local->hw, &sdata->vif, |
| ssid, ssid_len, |
| buf, buf_len); |
| + if (!skb) |
| + goto out; |
| |
| if (dst) { |
| mgmt = (struct ieee80211_mgmt *) skb->data; |
| @@ -1055,6 +1057,8 @@ struct sk_buff *ieee80211_build_probe_re |
| } |
| |
| IEEE80211_SKB_CB(skb)->flags |= IEEE80211_TX_INTFL_DONT_ENCRYPT; |
| + |
| + out: |
| kfree(buf); |
| |
| return skb; |