arehbein has uploaded this change for review.

View Change

common: Fix memleak in get_smscb_block()

Fix condition `block_nr == 4`, which was never reached, by effectively
replacing
- `4` by `msg->num_segs`, so we truly check if the current
block is the last of this message
- the index `block_nr` (which starts at zero) by `block_nr + 1`
so it is comparable to `msg->num_segs`

Related: OS#5354

Change-Id: I3dc116d6c16c80b31712b2a969f0b2a6998b03f0
---
M src/common/cbch.c
1 file changed, 2 insertions(+), 6 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/55/31155/1
diff --git a/src/common/cbch.c b/src/common/cbch.c
index f65df0d..3dd28bf 100644
--- a/src/common/cbch.c
+++ b/src/common/cbch.c
@@ -139,12 +139,8 @@
block_type->seq_nr = block_nr;

/* determine if this is the last block */
- if (block_nr + 1 == msg->num_segs)
- block_type->lb = 1;
- else
- block_type->lb = 0;
-
- if (block_nr == 4) {
+ block_type->lb = block_nr + 1 == msg->num_segs;
+ if (block_type->lb) {
if (msg != bts_ss->default_msg) {
DEBUGPGT(DLSMS, g_time, "%s: deleting fully-transmitted message %p\n",
chan_name, msg);

To view, visit change 31155. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I3dc116d6c16c80b31712b2a969f0b2a6998b03f0
Gerrit-Change-Number: 31155
Gerrit-PatchSet: 1
Gerrit-Owner: arehbein <arehbein@sysmocom.de>
Gerrit-MessageType: newchange