osmith submitted this change.

View Change


Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified
csd_bs_list_to_gsm0808_channel_type: fix rc check

Check the return code before writing it to unsigned ct->data_rate, as
"ct->data_rate < 0" is never true.

Fixes: CID#321277
Fixes: 106321 ("Add initial CSD support with external MNCC")
Change-Id: I5d77da71b60748818ba631229126c1bf061a9c7d
---
M src/libmsc/csd_bs.c
1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/libmsc/csd_bs.c b/src/libmsc/csd_bs.c
index adb9293..2322f20 100644
--- a/src/libmsc/csd_bs.c
+++ b/src/libmsc/csd_bs.c
@@ -375,14 +375,16 @@

if (csd_bs_is_transp(list->bs[0])) {
ct->data_transparent = true;
- ct->data_rate = csd_bs_to_gsm0808_data_rate_transp(list->bs[0]);
+ rc = csd_bs_to_gsm0808_data_rate_transp(list->bs[0]);
} else {
- ct->data_rate = csd_bs_to_gsm0808_data_rate_non_transp(list->bs[0]);
+ rc = csd_bs_to_gsm0808_data_rate_non_transp(list->bs[0]);
}

- if (ct->data_rate < 0)
+ if (rc < 0)
return -EINVAL;

+ ct->data_rate = rc;
+
/* Other possible data rates allowed (3GPP TS 48.008 ยง 3.2.2.11, 5a) */
if (!ct->data_transparent && list->count > 1) {
for (i = 1; i < list->count; i++) {

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

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: I5d77da71b60748818ba631229126c1bf061a9c7d
Gerrit-Change-Number: 33393
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged