Bug in range 512 encoding

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Holger Hans Peter Freyther holger at freyther.de
Sun Dec 8 19:16:00 UTC 2013


On Sun, Dec 08, 2013 at 07:57:44PM +0100, Andreas Eversberg wrote:

> "range512->form_id" points to the upper 7 bits of chan_list[0]. when
> you do that, you would write 0x44 to chan_list[0] instead of the
> required 0x88. use "chan_list[0] = 0x88" instead.

thanks, so

diff --git a/openbsc/src/libbsc/arfcn_range_encode.c b/openbsc/src/libbsc/arfcn_range_encode.c
index 02a75a5..8ed4711 100644
--- a/openbsc/src/libbsc/arfcn_range_encode.c
+++ b/openbsc/src/libbsc/arfcn_range_encode.c
@@ -210,10 +210,11 @@ int range_enc_range256(uint8_t *chan_list, int f0, int *w)
 int range_enc_range512(uint8_t *chan_list, int f0, int *w)
 {
        struct gsm48_range_512 *range512;
+
+       chan_list[0] = 0x88;
        write_orig_arfcn(chan_list, f0);
 
        range512 = (struct gsm48_range_512 *) &chan_list[0];
-       range512->form_id = chan_list[0] = 0x44;
 
        /* W(1) */
        range512->w1_hi = HIGH_BITS(w, 1, 9, 7);


will do the job. I will create a testcase and then include a patch.




More information about the OpenBSC mailing list