wlan:HDD: Reset client ptr to NULL after returning from vos_mem_free()
Reset client pointer to NULL after returning from vos_mem_free()
Change-Id: I1ffc2cd0f3ee628129b38ed1a845f1ac8a7592ce
CRs-Fixed: 586361
diff --git a/CORE/HDD/src/wlan_hdd_hostapd.c b/CORE/HDD/src/wlan_hdd_hostapd.c
index bb30177..688ce17 100644
--- a/CORE/HDD/src/wlan_hdd_hostapd.c
+++ b/CORE/HDD/src/wlan_hdd_hostapd.c
@@ -782,6 +782,7 @@
}
}
vos_mem_free(pSapEvent->sapevt.sapAssocStaListEvent.pAssocStas);// Release caller allocated memory here
+ pSapEvent->sapevt.sapAssocStaListEvent.pAssocStas = NULL;
return VOS_STATUS_SUCCESS;
case eSAP_INDICATE_MGMT_FRAME:
hdd_indicateMgmtFrame( pHostapdAdapter,
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 63a20e6..edeae74 100644
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -1462,6 +1462,7 @@
pAdapter->pBatchScanRsp = pHead;
pAdapter->prev_batch_id = pPrev->ApInfo.batchId;
vos_mem_free(pPrev);
+ pPrev = NULL;
}
return cur_len;
@@ -2358,6 +2359,7 @@
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO, "%s:STA is not associated to this AP!",__func__);
ret = -EINVAL;
vos_mem_free(buf);
+ buf = NULL;
goto exit;
}
@@ -2370,6 +2372,7 @@
__func__, channel, pHddStaCtx->conn_info.operationChannel);
ret = -EINVAL;
vos_mem_free(buf);
+ buf = NULL;
goto exit;
}
chan.center_freq = sme_ChnToFreq(channel);
@@ -2381,6 +2384,7 @@
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, "%s:memory allocation failed",__func__);
ret = -ENOMEM;
vos_mem_free(buf);
+ buf = NULL;
goto exit;
}
vos_mem_zero(finalBuf, finalLen);
@@ -2407,6 +2411,7 @@
/* done with the parsed buffer */
vos_mem_free(buf);
+ buf = NULL;
wlan_hdd_action( NULL,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0))
@@ -3641,18 +3646,14 @@
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
"%s: CCKM Ie input length is more than max[%d]", __func__,
DOT11F_IE_RSN_MAX_LEN);
- if (NULL != cckmIe)
- {
- vos_mem_free(cckmIe);
- }
+ vos_mem_free(cckmIe);
+ cckmIe = NULL;
ret = -EINVAL;
goto exit;
}
sme_SetCCKMIe((tHalHandle)(pHddCtx->hHal), pAdapter->sessionId, cckmIe, cckmIeLen);
- if (NULL != cckmIe)
- {
- vos_mem_free(cckmIe);
- }
+ vos_mem_free(cckmIe);
+ cckmIe = NULL;
}
else if (strncmp(command, "CCXBEACONREQ", 12) == 0)
{
@@ -5478,6 +5479,7 @@
pPrev = pNode;
pNode = pNode->pNext;
vos_mem_free((v_VOID_t * )pPrev);
+ pPrev = NULL;
}
pAdapter->pBatchScanRsp = NULL;
}
@@ -5984,6 +5986,7 @@
hdd_remove_adapter( pHddCtx, pAdapterNode );
vos_mem_free( pAdapterNode );
+ pAdapterNode = NULL;
#ifdef FEATURE_WLAN_TDLS
mutex_unlock(&pHddCtx->tdls_lock);
@@ -6022,6 +6025,7 @@
{
hdd_cleanup_adapter( pHddCtx, pHddAdapterNode->pAdapter, FALSE );
vos_mem_free( pHddAdapterNode );
+ pHddAdapterNode = NULL;
}
}while( NULL != pHddAdapterNode && VOS_STATUS_E_EMPTY != status );
@@ -6828,12 +6832,14 @@
{
hddLog(VOS_TRACE_LEVEL_ERROR, "%s kmalloc failed", __func__);
vos_mem_free(channelInfo.ChannelList);
+ channelInfo.ChannelList = NULL;
return;
}
vos_mem_copy(scanReq.ChannelInfo.ChannelList, channelInfo.ChannelList,
channelInfo.numOfChannels);
scanReq.ChannelInfo.numOfChannels = channelInfo.numOfChannels;
vos_mem_free(channelInfo.ChannelList);
+ channelInfo.ChannelList = NULL;
}
scanReq.scanType = eSIR_PASSIVE_SCAN;
diff --git a/CORE/HDD/src/wlan_hdd_p2p.c b/CORE/HDD/src/wlan_hdd_p2p.c
index 13a2a2d..88c0651 100644
--- a/CORE/HDD/src/wlan_hdd_p2p.c
+++ b/CORE/HDD/src/wlan_hdd_p2p.c
@@ -185,6 +185,7 @@
}
vos_mem_free( pRemainChanCtx );
+ pRemainChanCtx = NULL;
complete(&pAdapter->cancel_rem_on_chan_var);
return eHAL_STATUS_SUCCESS;
}
diff --git a/CORE/HDD/src/wlan_hdd_tdls.c b/CORE/HDD/src/wlan_hdd_tdls.c
index 1a466ab..daec620 100644
--- a/CORE/HDD/src/wlan_hdd_tdls.c
+++ b/CORE/HDD/src/wlan_hdd_tdls.c
@@ -548,6 +548,7 @@
tmp = list_entry(pos, hddTdlsPeer_t, node);
list_del(pos);
vos_mem_free(tmp);
+ tmp = NULL;
}
}
}