From e9db5c738721f7aa5d5512e0f77beefad8721986 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Tue, 28 Sep 2021 16:38:05 +0200 Subject: [PATCH] assert if tbf pointer for POLL event is NULL The tbf pointer should always point to a valid TBF. Change-Id: Ib607a38459802f780826f46c20a1696ec98408fb --- src/pdch.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pdch.cpp b/src/pdch.cpp index 29e3b20f..25e7ff54 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -314,7 +314,7 @@ void gprs_rlcmac_pdch::rcv_control_ack(Packet_Control_Acknowledgement_t *packet, struct pdch_ulc_node *poll; poll = pdch_ulc_get_node(ulc, fn); - if (!poll || poll->type != PDCH_ULC_NODE_TBF_POLL || !poll->tbf_poll.poll_tbf) { + if (!poll || poll->type != PDCH_ULC_NODE_TBF_POLL) { LOGPDCH(this, DRLCMAC, LOGL_NOTICE, "PACKET CONTROL ACK with " "unknown FN=%u TLLI=0x%08x (TRX %d TS %d)\n", fn, tlli, trx_no(), ts_no); @@ -330,6 +330,7 @@ void gprs_rlcmac_pdch::rcv_control_ack(Packet_Control_Acknowledgement_t *packet, ms_dl_tbf(ms) ? ms_dl_tbf(ms)->state_name() : "None"); return; } + OSMO_ASSERT(poll->tbf_poll.poll_tbf); tbf = poll->tbf_poll.poll_tbf; reason = poll->tbf_poll.reason; @@ -465,6 +466,7 @@ void gprs_rlcmac_pdch::rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *ack_n fn, tfi, trx_no(), ts_no); return; } + OSMO_ASSERT(poll->tbf_poll.poll_tbf); tbf = as_dl_tbf(poll->tbf_poll.poll_tbf); if (tbf->tfi() != tfi) { LOGPTBFDL(tbf, LOGL_NOTICE, @@ -533,6 +535,7 @@ void gprs_rlcmac_pdch::rcv_control_egprs_dl_ack_nack(EGPRS_PD_AckNack_t *ack_nac fn, tfi, trx_no(), ts_no); return; } + OSMO_ASSERT(poll->tbf_poll.poll_tbf); tbf = as_dl_tbf(poll->tbf_poll.poll_tbf); if (tbf->tfi() != tfi) { LOGPDCH(this, DRLCMAC, LOGL_NOTICE, "EGPRS PACKET DOWNLINK ACK with "