diff --git a/core/mac/src/pe/lim/lim_api.c b/core/mac/src/pe/lim/lim_api.c index aaf5995062cd..d974686547a4 100644 --- a/core/mac/src/pe/lim/lim_api.c +++ b/core/mac/src/pe/lim/lim_api.c @@ -644,6 +644,7 @@ tSirRetStatus lim_initialize(tpAniSirGlobal pMac) void lim_cleanup(tpAniSirGlobal pMac) { + uint8_t i; /* * Before destroying the list making sure all the nodes have been * deleted Which should be the normal case, but a memory leak has been @@ -670,6 +671,8 @@ void lim_cleanup(tpAniSirGlobal pMac) /* free up preAuth table */ if (pMac->lim.gLimPreAuthTimerTable.pTable != NULL) { + for (i = 0; i < pMac->lim.gLimPreAuthTimerTable.numEntry; i++) + qdf_mem_free(pMac->lim.gLimPreAuthTimerTable.pTable[i]); qdf_mem_free(pMac->lim.gLimPreAuthTimerTable.pTable); pMac->lim.gLimPreAuthTimerTable.pTable = NULL; pMac->lim.gLimPreAuthTimerTable.numEntry = 0; diff --git a/core/mac/src/pe/lim/lim_timer_utils.c b/core/mac/src/pe/lim/lim_timer_utils.c index 6507497b6688..14222a61f14e 100644 --- a/core/mac/src/pe/lim/lim_timer_utils.c +++ b/core/mac/src/pe/lim/lim_timer_utils.c @@ -437,7 +437,7 @@ err_timer: tx_timer_delete(&pMac->lim.limTimers.gLimActiveToPassiveChannelTimer); if (NULL != pMac->lim.gLimPreAuthTimerTable.pTable) { - for (i = 0; i < cfgValue; i++) + for (i = 0; i < pMac->lim.gLimPreAuthTimerTable.numEntry; i++) qdf_mem_free(pMac->lim.gLimPreAuthTimerTable.pTable[i]); qdf_mem_free(pMac->lim.gLimPreAuthTimerTable.pTable); pMac->lim.gLimPreAuthTimerTable.pTable = NULL;