aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2021-09-28 16:38:05 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2021-09-28 16:38:30 +0200
commite9db5c738721f7aa5d5512e0f77beefad8721986 (patch)
tree836b2ca31ddc2a3195e194a13556acbf6e6ce069
parenta27fb3fce3a2896f0a956da0ebbb2d5ba484f48f (diff)
assert if tbf pointer for POLL event is NULL
The tbf pointer should always point to a valid TBF. Change-Id: Ib607a38459802f780826f46c20a1696ec98408fb
-rw-r--r--src/pdch.cpp5
1 files changed, 4 insertions, 1 deletions
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 "