summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArchana Ramachandran <archanar@codeaurora.org>2016-06-27 11:44:13 -0700
committerArchana Ramachandran <archanar@codeaurora.org>2016-07-06 14:42:58 -0700
commitdc7f2c9c2fa37f500b951cb561632e8d9e90ebb9 (patch)
treed8cd58f30f05378bdc6f8e603f6b493487b5f130
parente20ffc05d0f0916ff2a2d1853e79b03b8b424f1c (diff)
qcacld-3.0: Fix NULL pointer dereferencing in p2p TX MGMT
Fix dereferencing channel struct pointer without verifying the validity. CRs-Fixed: 1034743 Change-Id: I7a49467c3fdbe85c7255fcce7f135e53658eef63
-rw-r--r--core/hdd/src/wlan_hdd_p2p.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/hdd/src/wlan_hdd_p2p.c b/core/hdd/src/wlan_hdd_p2p.c
index e7bd3315b86a..9d41dc3e8c68 100644
--- a/core/hdd/src/wlan_hdd_p2p.c
+++ b/core/hdd/src/wlan_hdd_p2p.c
@@ -1411,7 +1411,9 @@ int __wlan_hdd_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
home_ch = goAdapter->sessionCtx.ap.operatingChannel;
}
- if (ieee80211_frequency_to_channel(chan->center_freq) == home_ch) {
+ if (chan &&
+ (ieee80211_frequency_to_channel(chan->center_freq) ==
+ home_ch)) {
/* if adapter is already on requested ch, no need for ROC */
wait = 0;
hddLog(LOG1,
@@ -1419,7 +1421,7 @@ int __wlan_hdd_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
goto send_frame;
}
- if (offchan && wait) {
+ if (offchan && wait && chan) {
int status;
rem_on_channel_request_type_t req_type = OFF_CHANNEL_ACTION_TX;
/* In case of P2P Client mode if we are already */