[PATCH] osmo-bsc[master]: fix build: gprs_ra_id_by_bts(): ensure to init all values

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/gerrit-log@lists.osmocom.org/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Thu Mar 1 18:54:59 UTC 2018


Review at  https://gerrit.osmocom.org/7035

fix build: gprs_ra_id_by_bts(): ensure to init all values

After recent libosmocore commit "implement support for 3-digit MNC with leading
zeros" c4fce1425e19d604c199c895e227dc2519110456
Id2240f7f518494c9df6c8bda52c0d5092f90f221, struct gprs_ra_id has a new member,
namely mnc_3_digits. In gprs_ra_id_by_bts(), this new member is now not
initialized and may end up having an arbitrary value, which then may amount to
mnc_3_digits == true. Hence the resulting BCD representation of the MCC-MNC may
inadvertently and randomly indicate a leading zero on the MNC.

Use a struct assignment so that all members are guaranteed to be set, and so
that mnc_3_digits will be zero in all cases.

Since above libosmocore commit, nanobts_omlattr_test fails "randomly", fixed by
this patch.

Change-Id: I872ae3b2b0a0cd8f932f3a5fbc77c0dbfcb28bbf
---
M src/libbsc/gsm_data.c
1 file changed, 6 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/7035/1

diff --git a/src/libbsc/gsm_data.c b/src/libbsc/gsm_data.c
index e1d422e..1594522 100644
--- a/src/libbsc/gsm_data.c
+++ b/src/libbsc/gsm_data.c
@@ -271,10 +271,12 @@
 
 void gprs_ra_id_by_bts(struct gprs_ra_id *raid, struct gsm_bts *bts)
 {
-	raid->mcc = bts->network->country_code;
-	raid->mnc = bts->network->network_code;
-	raid->lac = bts->location_area_code;
-	raid->rac = bts->gprs.rac;
+	*raid = (struct gprs_ra_id){
+		.mcc = bts->network->country_code,
+		.mnc = bts->network->network_code,
+		.lac = bts->location_area_code,
+		.rac = bts->gprs.rac,
+	};
 }
 
 int gsm48_ra_id_by_bts(uint8_t *buf, struct gsm_bts *bts)

-- 
To view, visit https://gerrit.osmocom.org/7035
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I872ae3b2b0a0cd8f932f3a5fbc77c0dbfcb28bbf
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>



More information about the gerrit-log mailing list