diff options
author | Max <msuraev@sysmocom.de> | 2017-09-08 12:23:12 +0200 |
---|---|---|
committer | Max <msuraev@sysmocom.de> | 2017-09-08 12:58:28 +0000 |
commit | 5759a19020cb35b7b8091b387aec448eb1f67a32 (patch) | |
tree | daa905efeaa8c439f21d44793f452c639bcb14bf /src/tbf_dl.cpp | |
parent | 1962136a333a03e3ed33e96f4fb350fad61b3170 (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.cpp | 3 |
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]; |