Currently w[14]/w[15] and w[18]/w[19] are swapped in range 256 format
decoding in gsm48_decode_freq_list().

This patch fixes this.

Sponsored-by: On-Waves ehf
---
 src/gsm/gsm48_ie.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/gsm/gsm48_ie.c b/src/gsm/gsm48_ie.c
index 78619b9..2cc0645 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)
-- 
1.7.9.5


Reply via email to