diff options
| author | Rajeev Kumar <rajekuma@qca.qualcomm.com> | 2014-02-03 18:42:39 -0800 |
|---|---|---|
| committer | Prakash Dhavali <pdhavali@qca.qualcomm.com> | 2014-02-05 21:06:49 -0800 |
| commit | c4f66e4a8086f7656879177a0f4145d760b01992 (patch) | |
| tree | ed2067693c975e4eddef57b88240bc74bcf0ad5c | |
| parent | c28b7ead75edf1142de66ce7464291e9ef12938b (diff) | |
qcacld: Fix of double free panic in SLUB debug build
In CLD SLUB debug build double free is considered as
panic so whenever a pointer which is not allocated using
VOS API is freed using VOS API SLUB debug driver treats
it as a double free and calls panic.
Change-Id: I6ee312b9ef049c1319324e1578a901f29baa057b
CRs-Fixed: 611035
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index 40c9dbb38f74..e992fe5a024a 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -3747,7 +3747,6 @@ VOS_STATUS wma_send_snr_request(tp_wma_handle wma_handle, void *pGetRssiReq) pRssiBkUp = adf_os_mem_alloc(NULL, sizeof(tAniGetRssiReq)); if(!pRssiBkUp) { WMA_LOGE("Failed to allocate memory for tAniGetRssiReq"); - vos_mem_free(pRssiBkUp); wma_handle->pGetRssiReq = NULL; return VOS_STATUS_E_FAILURE; } @@ -3761,6 +3760,8 @@ VOS_STATUS wma_send_snr_request(tp_wma_handle wma_handle, void *pGetRssiReq) buf = wmi_buf_alloc(wma_handle->wmi_handle, len); if (!buf) { WMA_LOGE("%s: wmi_buf_alloc failed", __func__); + adf_os_mem_free(pRssiBkUp); + wma_handle->pGetRssiReq = NULL; return VOS_STATUS_E_FAILURE; } @@ -3771,7 +3772,7 @@ VOS_STATUS wma_send_snr_request(tp_wma_handle wma_handle, void *pGetRssiReq) if (wmi_unified_cmd_send(wma_handle->wmi_handle, buf, len,WMI_REQUEST_STATS_CMDID)) { WMA_LOGE("Failed to send host stats request to fw"); wmi_buf_free(buf); - vos_mem_free(pRssiBkUp); + adf_os_mem_free(pRssiBkUp); wma_handle->pGetRssiReq = NULL; return VOS_STATUS_E_FAILURE; } |
