aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2011-08-22 23:24:28 +0200
committerDaniel Willmann <daniel@totalueberwachung.de>2011-08-26 12:30:19 +0200
commitfde015a7797714a6cc88825b03750a0134159a89 (patch)
treeb7bd72d990d9a2398afe88b929c62a47e8cee141 /openbsc/src/osmo-bsc/osmo_bsc_ctrl.c
parent68e528a1968f825094ea369dfa75cd217c4ed7e5 (diff)
ctrl: Fix leak, check null pointer
Diffstat (limited to 'openbsc/src/osmo-bsc/osmo_bsc_ctrl.c')
-rw-r--r--openbsc/src/osmo-bsc/osmo_bsc_ctrl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c b/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c
index ff5725f32..cace0c83b 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c
@@ -56,6 +56,10 @@ static void generate_location_state_trap(struct gsm_bts *bts, struct bsc_msc_con
const char *oper, *admin, *policy;
cmd = ctrl_cmd_create(msc_con, CTRL_TYPE_TRAP);
+ if (!cmd) {
+ LOGP(DCTRL, LOGL_ERROR, "Failed to create TRAP command.\n");
+ return;
+ }
cmd->id = "0";
cmd->variable = talloc_asprintf(cmd, "net.bts.%i.location-state", bts->nr);
@@ -71,6 +75,7 @@ static void generate_location_state_trap(struct gsm_bts *bts, struct bsc_msc_con
cmd->reply = talloc_asprintf_append(cmd->reply, ",%s,%s,%s", oper, admin, policy);
osmo_bsc_send_trap(cmd, msc_con);
+ talloc_free(cmd);
}
static const struct value_string valid_names[] = {