aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2017-05-29 16:31:23 +0200
committerHarald Welte <laforge@gnumonks.org>2017-05-29 21:13:45 +0000
commite91cd2b0887b0ed41a3bb4c49e4478defd208554 (patch)
treea789104cb8e515ba17523b232c78148369ce7d7c
parent9eeb0b1a136fc8c24a86cb4d832c264674c10db0 (diff)
OML: fix Coverity-reported issues
* CID 169803: Null pointer dereferences * CID 169802: Incorrect expression Change-Id: Ib3f91be97c8bf81a87681814bf81d3a5a9950e54 Related: OS#1614
-rw-r--r--src/common/oml.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/common/oml.c b/src/common/oml.c
index 290c3458..9dddf577 100644
--- a/src/common/oml.c
+++ b/src/common/oml.c
@@ -163,7 +163,7 @@ static inline struct msgb *add_bts_attr(const struct gsm_bts *bts)
abis_nm_put_sw_file(a, btstype2str(GSM_BTS_TYPE_OSMOBTS), PACKAGE_VERSION, true);
abis_nm_put_sw_file(a, btsatttr2str(BTS_TYPE_VARIANT), btsvariant2str(bts->variant), true);
- if (bts->sub_model)
+ if (strlen(bts->sub_model))
abis_nm_put_sw_file(a, btsatttr2str(BTS_SUB_MODEL), bts->sub_model, true);
return a;
@@ -467,9 +467,13 @@ static int oml_rx_get_attr(struct gsm_bts *bts, struct msgb *msg)
{
struct abis_om_fom_hdr *foh = msgb_l3(msg);
struct tlv_parsed tp;
- struct gsm_abis_mo *mo = gsm_objclass2mo(bts, foh->obj_class, &foh->obj_inst);
+ struct gsm_abis_mo *mo;
int rc;
+ if (!foh)
+ return -EINVAL;
+
+ mo = gsm_objclass2mo(bts, foh->obj_class, &foh->obj_inst);
abis_nm_debugp_foh(DOML, foh);
DEBUGPC(DOML, "Rx GET ATTR\n");