summaryrefslogtreecommitdiff
path: root/target_if
diff options
context:
space:
mode:
authorVarun Reddy Yeturu <varunreddy.yeturu@codeaurora.org>2018-01-04 16:25:06 -0800
committersnandini <snandini@codeaurora.org>2018-01-12 01:53:50 -0800
commit0b8b57e6327900944d2f68a96a7353ed1486da19 (patch)
tree9df3d1643bfbd347072802299815291206a37dde /target_if
parentf2f8dea00bd0247ff753ebd7f548591713ea845b (diff)
downloadqca-wfi-host-cmn-0b8b57e6327900944d2f68a96a7353ed1486da19.tar.gz
qcacmn: Fix potential NULL dereference in P2P
1) Check for validity of ps_config before dereferencing. 2) Check for validity of lo_start before dereferencing. 3) Initialize tmp_p2p_ie before using it. Change-Id: I4cd5bcb025e63d727e5535921a4e4121d618ee36 CRs-Fixed: 2160760
Diffstat (limited to 'target_if')
-rw-r--r--target_if/p2p/src/target_if_p2p.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/target_if/p2p/src/target_if_p2p.c b/target_if/p2p/src/target_if_p2p.c
index 5f03401c3..000a91758 100644
--- a/target_if/p2p/src/target_if_p2p.c
+++ b/target_if/p2p/src/target_if_p2p.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -260,9 +260,6 @@ QDF_STATUS target_if_p2p_set_ps(struct wlan_objmgr_psoc *psoc,
QDF_STATUS status;
wmi_unified_t wmi_handle = target_if_get_wmi_handle(psoc);
- target_if_debug("psoc:%pK, vdev_id:%d, opp_ps:%d", psoc,
- ps_config->vdev_id, ps_config->opp_ps);
-
if (!wmi_handle) {
target_if_err("Invalid wmi handle");
return QDF_STATUS_E_INVAL;
@@ -273,6 +270,9 @@ QDF_STATUS target_if_p2p_set_ps(struct wlan_objmgr_psoc *psoc,
return QDF_STATUS_E_INVAL;
}
+ target_if_debug("psoc:%pK, vdev_id:%d, opp_ps:%d", psoc,
+ ps_config->vdev_id, ps_config->opp_ps);
+
cmd.opp_ps = ps_config->opp_ps;
cmd.ctwindow = ps_config->ct_window;
cmd.count = ps_config->count;
@@ -301,8 +301,6 @@ QDF_STATUS target_if_p2p_lo_start(struct wlan_objmgr_psoc *psoc,
{
wmi_unified_t wmi_handle = target_if_get_wmi_handle(psoc);
- target_if_debug("psoc:%pK, vdev_id:%d", psoc, lo_start->vdev_id);
-
if (!wmi_handle) {
target_if_err("Invalid wmi handle");
return QDF_STATUS_E_INVAL;
@@ -312,6 +310,7 @@ QDF_STATUS target_if_p2p_lo_start(struct wlan_objmgr_psoc *psoc,
target_if_err("lo start parameters is null");
return QDF_STATUS_E_INVAL;
}
+ target_if_debug("psoc:%pK, vdev_id:%d", psoc, lo_start->vdev_id);
return wmi_unified_p2p_lo_start_cmd(wmi_handle, lo_start);
}