diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2011-08-22 23:24:28 +0200 |
---|---|---|
committer | Daniel Willmann <daniel@totalueberwachung.de> | 2011-08-25 15:01:23 +0200 |
commit | eabdf759363dae0162f2ff8477e64ead599a12ff (patch) | |
tree | e78456780d8b38722cf5b28e341100637592bdc6 /openbsc/src | |
parent | d9e70a3e072a5360c47b635a1f2c9aff631ae6ba (diff) |
ctrl: Fix leak, check null pointer
Diffstat (limited to 'openbsc/src')
-rw-r--r-- | openbsc/src/osmo-bsc/osmo_bsc_ctrl.c | 5 |
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 31c1d022c..b433d50ca 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 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); @@ -92,6 +96,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[] = { |