aboutsummaryrefslogtreecommitdiffstats
path: root/src/tbf_dl.cpp
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2017-09-08 12:23:12 +0200
committerMax <msuraev@sysmocom.de>2017-09-08 12:58:28 +0000
commit5759a19020cb35b7b8091b387aec448eb1f67a32 (patch)
treedaa905efeaa8c439f21d44793f452c639bcb14bf /src/tbf_dl.cpp
parent1962136a333a03e3ed33e96f4fb350fad61b3170 (diff)
TBF-DL: extend index check for RLC block copy
Log number of RLC blocks to copy and assert if trying to copy too many blocks. Change-Id: I01cbc26ec67400a44e9fff3f9a30d729320380f9 Fixes: CID143069
Diffstat (limited to 'src/tbf_dl.cpp')
-rw-r--r--src/tbf_dl.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index 1dd7dd8a..3d278835 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -757,6 +757,8 @@ struct msgb *gprs_rlcmac_dl_tbf::create_dl_acked_block(
OSMO_ASSERT(rlc.num_data_blocks <= ARRAY_SIZE(rlc.block_info));
OSMO_ASSERT(rlc.num_data_blocks > 0);
+ LOGP(DRLCMACDL, LOGL_DEBUG, "- Copying %u RLC blocks, %u BSNs\n", rlc.num_data_blocks, num_bsns);
+
/* Copy block(s) to RLC message */
for (data_block_idx = 0; data_block_idx < rlc.num_data_blocks;
data_block_idx++)
@@ -782,6 +784,7 @@ struct msgb *gprs_rlcmac_dl_tbf::create_dl_acked_block(
OSMO_ASSERT(m_rlc.block(bsn)->next_ps >= EGPRS_PS_1);
OSMO_ASSERT(m_rlc.block(bsn)->next_ps <= EGPRS_PS_3);
}
+ OSMO_ASSERT(data_block_idx < 2); /* punct defined above as 2-element array */
punct[data_block_idx] = m_rlc.block(bsn)->next_ps;
rdbi = &rlc.block_info[data_block_idx];