diff options
| author | Siddharth Bhal <sbhal@qti.qualcomm.com> | 2014-02-24 15:14:16 +0530 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-04-05 01:20:58 -0700 |
| commit | 4141c07c04468eb64a20ede70d7c06f22e15ed17 (patch) | |
| tree | f42425417a8c85e9731f7f240adad14b6322aa3a | |
| parent | 8ce50e964b101f33f5c0b9941999af436507809c (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.c | 31 |
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; |
