diff --git a/src/gsm/gsm48_ie.c b/src/gsm/gsm48_ie.c index 78619b978..2cc0645d4 100644 --- a/src/gsm/gsm48_ie.c +++ b/src/gsm/gsm48_ie.c @@ -985,17 +985,17 @@ int gsm48_decode_freq_list(struct gsm_sysinfo_freq *f, uint8_t *cd, if (len >= 12) w[13] = r->w13; if (len >= 13) - w[14] = r->w15; + w[14] = (r->w14_hi << 2) | r->w14_lo; if (len >= 13) - w[15] = (r->w14_hi << 2) | r->w14_lo; + w[15] = r->w15; if (len >= 14) w[16] = (r->w16_hi << 3) | r->w16_lo; if (len >= 14) w[17] = r->w17; if (len >= 15) - w[18] = r->w19; + w[18] = (r->w18_hi << 3) | r->w18_lo; if (len >= 15) - w[19] = (r->w18_hi << 3) | r->w18_lo; + w[19] = r->w19; if (len >= 16) w[20] = (r->w20_hi << 3) | r->w20_lo; if (len >= 16)