Change in osmocom-bb[master]: mobile: gsm48_rr_set_mode(): check rc of rsl_dec_chan_nr()
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/30329 ) Change subject: mobile: gsm48_rr_set_mode(): check rc of rsl_dec_chan_nr() ...................................................................... mobile: gsm48_rr_set_mode(): check rc of rsl_dec_chan_nr() The rsl_dec_chan_nr() may fail to decode RSL channel number, so the 'ch_type' variable would be uninitialized. Let's check rc. Change-Id: I9ab18bdaf41a29fcd32a7060668ef9db07b8cf7e Related: OS#5599 --- M src/host/layer23/src/mobile/gsm48_rr.c 1 file changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/29/30329/1 diff --git a/src/host/layer23/src/mobile/gsm48_rr.c b/src/host/layer23/src/mobile/gsm48_rr.c index 6092835..e7722f1 100644 --- a/src/host/layer23/src/mobile/gsm48_rr.c +++ b/src/host/layer23/src/mobile/gsm48_rr.c @@ -3427,9 +3427,16 @@ { struct gsm48_rrlayer *rr = &ms->rrlayer; uint8_t ch_type, ch_subch, ch_ts; + int rc; + + /* Decode RSL channel number */ + rc = rsl_dec_chan_nr(chan_nr, &ch_type, &ch_subch, &ch_ts); + if (rc) { + LOGP(DRR, LOGL_ERROR, "Couldn't decode RSL channel number\n"); + return -EINVAL; + } /* only apply mode to TCH/F or TCH/H */ - rsl_dec_chan_nr(chan_nr, &ch_type, &ch_subch, &ch_ts); if (ch_type != RSL_CHAN_Bm_ACCHs && ch_type != RSL_CHAN_Lm_ACCHs) return -ENOTSUP; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/30329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9ab18bdaf41a29fcd32a7060668ef9db07b8cf7e Gerrit-Change-Number: 30329 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de> Gerrit-CC: fixeria <axilirator@gmail.com> Gerrit-MessageType: newchange
participants (1)
-
fixeria