trx: Don't call osmo_fr_check_sid with negative 'rc'

In rx_tchf_fn(), if gsm0503_tch_fr_decode() returns a negative
result, we cannot use that result as length argument to
osmo_fr_check_sid()

Change-Id: Ic4080b5bf6c865be3333f923f19a2340e1e272c8
Fixes: Coverity CID#178659
This commit is contained in:
Harald Welte 2017-11-06 02:56:41 +09:00
parent d8d402099f
commit 8e202b595c
1 changed files with 2 additions and 1 deletions

View File

@ -1055,7 +1055,8 @@ int rx_tchf_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn,
: tch_mode) {
case GSM48_CMODE_SPEECH_V1: /* FR */
rc = gsm0503_tch_fr_decode(tch_data, *bursts_p, 1, 0, &n_errors, &n_bits_total);
lchan_set_marker(osmo_fr_check_sid(tch_data, rc), lchan); /* DTXu */
if (rc >= 0)
lchan_set_marker(osmo_fr_check_sid(tch_data, rc), lchan); /* DTXu */
break;
case GSM48_CMODE_SPEECH_EFR: /* EFR */
rc = gsm0503_tch_fr_decode(tch_data, *bursts_p, 1, 1, &n_errors, &n_bits_total);