summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiddharth Bhal <sbhal@qti.qualcomm.com>2014-02-24 15:14:16 +0530
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-04-05 01:20:58 -0700
commit4141c07c04468eb64a20ede70d7c06f22e15ed17 (patch)
treef42425417a8c85e9731f7f240adad14b6322aa3a
parent8ce50e964b101f33f5c0b9941999af436507809c (diff)
wlan: check for pAdapter NULL dereference
We ensure the NULL pointer is not dereferenced in function hdd_deinit_batch_scan. Change-Id: I61c17f4bd8761191938356f2c79e4e5c39e02270 CRs-Fixed: 643537
-rw-r--r--CORE/HDD/src/wlan_hdd_main.c31
1 files changed, 18 insertions, 13 deletions
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 39aab1e92fce..bff8abdbb8cc 100644
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -8358,25 +8358,30 @@ void hdd_deinit_batch_scan(hdd_adapter_t *pAdapter)
tHddBatchScanRsp *pNode;
tHddBatchScanRsp *pPrev;
- if (pAdapter)
+ if (NULL == pAdapter)
{
- pNode = pAdapter->pBatchScanRsp;
- while (pNode)
- {
- pPrev = pNode;
- pNode = pNode->pNext;
- vos_mem_free((v_VOID_t * )pPrev);
- }
- pAdapter->pBatchScanRsp = NULL;
- pAdapter->numScanList = 0;
- pAdapter->batchScanState = eHDD_BATCH_SCAN_STATE_STOPPED;
- pAdapter->prev_batch_id = 0;
+ hddLog(VOS_TRACE_LEVEL_ERROR,
+ "%s: Adapter context is Null", __func__);
+ return;
+ }
+
+ pNode = pAdapter->pBatchScanRsp;
+ while (pNode)
+ {
+ pPrev = pNode;
+ pNode = pNode->pNext;
+ vos_mem_free((v_VOID_t * )pPrev);
}
+
+ pAdapter->pBatchScanRsp = NULL;
+ pAdapter->numScanList = 0;
+ pAdapter->batchScanState = eHDD_BATCH_SCAN_STATE_STOPPED;
+ pAdapter->prev_batch_id = 0;
+
return;
}
#endif
-
VOS_STATUS hdd_reset_all_adapters( hdd_context_t *pHddCtx )
{
hdd_adapter_list_node_t *pAdapterNode = NULL, *pNext = NULL;