From 50f7d74fca2b5e4121321e8411a2841bd8821eab Mon Sep 17 00:00:00 2001 From: Alexander Chemeris Date: Sat, 14 Jul 2018 21:07:27 +0200 Subject: coding: Always initialize bit counters in gsm0503_pdtch_egprs_decode(). Previsouly there were a lot of valid code paths which returned from the function before setting bit counters which led to bogus BER output in osmo-bts-trx logs when those code paths were hit. Change-Id: I4722cae3794ccbb12001113c991d9cf345a52a96 --- src/coding/gsm0503_coding.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c index 088b8bba..7385d233 100644 --- a/src/coding/gsm0503_coding.c +++ b/src/coding/gsm0503_coding.c @@ -938,6 +938,11 @@ int gsm0503_pdtch_egprs_decode(uint8_t *l2_data, const sbit_t *bursts, uint16_t struct egprs_cps cps; union gprs_rlc_ul_hdr_egprs *hdr; + if (n_errors) + *n_errors = 0; + if (n_bits_total) + *n_bits_total = 0; + if ((nbits != GSM0503_GPRS_BURSTS_NBITS) && (nbits != GSM0503_EGPRS_BURSTS_NBITS)) { /* Invalid EGPRS bit length */ -- cgit v1.2.3