osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/33393 )
Change subject: csd_bs_list_to_gsm0808_channel_type: fix rc check ...................................................................... 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(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified 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 https://gerrit.osmocom.org/c/osmo-msc/+/33393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5d77da71b60748818ba631229126c1bf061a9c7d Gerrit-Change-Number: 33393 Gerrit-PatchSet: 2 Gerrit-Owner: osmith <osm...@sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanits...@sysmocom.de> Gerrit-Reviewer: osmith <osm...@sysmocom.de> Gerrit-Reviewer: pespin <pes...@sysmocom.de> Gerrit-MessageType: merged