From 89f3a3347f29997c384c9387f71b3d27a4a32f47 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Fri, 16 Nov 2018 13:50:53 +0100 Subject: bsc: band_compatible: Return band non-compatible for invalid arfcn Before libosmocore Change-Id I780d452dcebce385469e32ef2fd844df6033393a, it avoids stating arfcn 886-954 are compatible when operating under DC1800. After that Change-Id, avoids aborting the program due to unexpected behaviour. Related: OS#3063 Depends: libosmocore Change-Id I780d452dcebce385469e32ef2fd844df6033393a Change-Id: Ibf5d5ab50b6fc6597244eeedcd27d2ce245278a3 --- src/osmo-bsc/system_information.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/osmo-bsc') diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c index 0a441dc46..4709f7fc0 100644 --- a/src/osmo-bsc/system_information.c +++ b/src/osmo-bsc/system_information.c @@ -53,7 +53,12 @@ struct gsm0808_cell_id_list2; */ static int band_compatible(const struct gsm_bts *bts, int arfcn) { - enum gsm_band band = gsm_arfcn2band(arfcn); + enum gsm_band band; + + if (gsm_arfcn2band_rc(arfcn, &band) < 0) { + LOGP(DRR, LOGL_ERROR, "Invalid arfcn %d detected!\n", arfcn); + return 0; + } /* normal case */ if (band == bts->band) -- cgit v1.2.3