diff options
-rw-r--r-- | openbsc/include/openbsc/rest_octets.h | 2 | ||||
-rw-r--r-- | openbsc/src/libbsc/rest_octets.c | 4 | ||||
-rw-r--r-- | openbsc/src/libbsc/system_information.c | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/openbsc/include/openbsc/rest_octets.h b/openbsc/include/openbsc/rest_octets.h index 56d4e0de8..963b010c9 100644 --- a/openbsc/include/openbsc/rest_octets.h +++ b/openbsc/include/openbsc/rest_octets.h @@ -55,7 +55,7 @@ struct gsm48_si_ro_info { int rest_octets_si3(uint8_t *data, const struct gsm48_si_ro_info *si3); /* Generate SI4 Rest Octets (Chapter 10.5.2.35) */ -int rest_octets_si4(uint8_t *data, const struct gsm48_si_ro_info *si4); +int rest_octets_si4(uint8_t *data, const struct gsm48_si_ro_info *si4, int len); enum pbcch_carrier_type { PBCCH_BCCH, diff --git a/openbsc/src/libbsc/rest_octets.c b/openbsc/src/libbsc/rest_octets.c index 41bf5050b..4545794a9 100644 --- a/openbsc/src/libbsc/rest_octets.c +++ b/openbsc/src/libbsc/rest_octets.c @@ -141,13 +141,13 @@ static int append_lsa_params(struct bitvec *bv, } /* Generate SI4 Rest Octets (Chapter 10.5.2.35) */ -int rest_octets_si4(uint8_t *data, const struct gsm48_si_ro_info *si4) +int rest_octets_si4(uint8_t *data, const struct gsm48_si_ro_info *si4, int len) { struct bitvec bv; memset(&bv, 0, sizeof(bv)); bv.data = data; - bv.data_len = 10; /* FIXME: up to ? */ + bv.data_len = len; /* SI4 Rest Octets O */ append_selection_params(&bv, &si4->selection_params); diff --git a/openbsc/src/libbsc/system_information.c b/openbsc/src/libbsc/system_information.c index 8a6d02671..5071b0693 100644 --- a/openbsc/src/libbsc/system_information.c +++ b/openbsc/src/libbsc/system_information.c @@ -595,7 +595,7 @@ static int generate_si4(uint8_t *output, struct gsm_bts *bts) /* SI4 Rest Octets (10.5.2.35), containing Optional Power offset, GPRS Indicator, Cell Identity, LSA ID, Selection Parameter */ - rc = rest_octets_si4(restoct, &si_info); + rc = rest_octets_si4(restoct, &si_info, output + GSM_MACBLOCK_LEN - restoct); return l2_plen + 1 + rc; } |