From: baohongde Date: Wed, 27 Sep 2017 06:57:48 +0000 (+0800) Subject: component/bt: Fix bug of memory leak of gatt open and close X-Git-Tag: v3.1-dev~217^2~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=68958a2485c6c73beb141ef66d2207701b8b3379;p=esp-idf component/bt: Fix bug of memory leak of gatt open and close --- diff --git a/components/bt/bluedroid/stack/l2cap/l2c_utils.c b/components/bt/bluedroid/stack/l2cap/l2c_utils.c index 68bc2b58d6..a8b7a538c9 100644 --- a/components/bt/bluedroid/stack/l2cap/l2c_utils.c +++ b/components/bt/bluedroid/stack/l2cap/l2c_utils.c @@ -1506,9 +1506,11 @@ tL2C_CCB *l2cu_allocate_ccb (tL2C_LCB *p_lcb, UINT16 cid) p_ccb->tx_mps = L2CAP_FCR_TX_BUF_SIZE - 32; p_ccb->xmit_hold_q = fixed_queue_new(SIZE_MAX); +#if (CLASSIC_BT_INCLUDED == TRUE) p_ccb->fcrb.srej_rcv_hold_q = fixed_queue_new(SIZE_MAX); p_ccb->fcrb.retrans_q = fixed_queue_new(SIZE_MAX); p_ccb->fcrb.waiting_for_ack_q = fixed_queue_new(SIZE_MAX); +#endif ///CLASSIC_BT_INCLUDED == TRUE p_ccb->cong_sent = FALSE; p_ccb->buff_quota = 2; /* This gets set after config */ @@ -1631,6 +1633,12 @@ void l2cu_release_ccb (tL2C_CCB *p_ccb) fixed_queue_free(p_ccb->xmit_hold_q, osi_free_func); +#if (CLASSIC_BT_INCLUDED == TRUE) + fixed_queue_free(p_ccb->fcrb.srej_rcv_hold_q, osi_free_func); + fixed_queue_free(p_ccb->fcrb.retrans_q, osi_free_func); + fixed_queue_free(p_ccb->fcrb.waiting_for_ack_q, osi_free_func); +#endif ///CLASSIC_BT_INCLUDED == TRUE + p_ccb->xmit_hold_q = NULL; #if (CLASSIC_BT_INCLUDED == TRUE)