summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CORE/EPPING/src/epping_helper.c10
-rw-r--r--CORE/EPPING/src/epping_txrx.c3
2 files changed, 11 insertions, 2 deletions
diff --git a/CORE/EPPING/src/epping_helper.c b/CORE/EPPING/src/epping_helper.c
index 193dd3dc6c4f..353b4bdef823 100644
--- a/CORE/EPPING/src/epping_helper.c
+++ b/CORE/EPPING/src/epping_helper.c
@@ -273,7 +273,15 @@ void epping_register_tx_copier(HTC_ENDPOINT_ID eid, epping_context_t *pEpping_ct
}
void epping_unregister_tx_copier(HTC_ENDPOINT_ID eid, epping_context_t *pEpping_ctx)
{
- epping_poll_t *epping_poll = &pEpping_ctx->epping_poll[eid];
+ epping_poll_t *epping_poll;
+
+ if (eid < 0 || eid >= EPPING_MAX_NUM_EPIDS ) {
+ EPPING_LOG(VOS_TRACE_LEVEL_FATAL, "%s: invalid eid = %d",
+ __func__, eid);
+ return;
+ }
+
+ epping_poll = &pEpping_ctx->epping_poll[eid];
epping_poll->done = true;
if (epping_poll->inited) {
diff --git a/CORE/EPPING/src/epping_txrx.c b/CORE/EPPING/src/epping_txrx.c
index 7c1a92feac6b..cf2a7d4074d3 100644
--- a/CORE/EPPING/src/epping_txrx.c
+++ b/CORE/EPPING/src/epping_txrx.c
@@ -324,7 +324,8 @@ void epping_destroy_adapter(epping_adapter_t *pAdapter)
while (adf_nbuf_queue_len(&pAdapter->nodrop_queue)) {
adf_nbuf_t tmp_nbuf = NULL;
tmp_nbuf = adf_nbuf_queue_remove(&pAdapter->nodrop_queue);
- adf_nbuf_free(tmp_nbuf);
+ if (tmp_nbuf)
+ adf_nbuf_free(tmp_nbuf);
}
free_netdev(dev);