From 7e0c269e5ce861b35cef02048579d107973d3204 Mon Sep 17 00:00:00 2001 From: Philipp Maier Date: Tue, 7 Nov 2017 12:47:59 +0100 Subject: reset: remove name variable from reset context The reset context contains a string buffer to allow for setting a human readable name, that is then displayed in the logs. Since OSMO-FSMs already have such a feature there is no need for an extra name variable. Use LOGPFSML and the name parameter of osmo_fsm_inst_alloc() to display the name of the FSM Fixes: Coverity CID#178664 Change-Id: I34511698923abec7545a6f3defd595f97b4bbeb1 --- include/osmocom/bsc/a_reset.h | 3 --- src/libcommon-cs/a_reset.c | 17 +++++++++-------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/include/osmocom/bsc/a_reset.h b/include/osmocom/bsc/a_reset.h index 7aaab0620..c01a8b047 100644 --- a/include/osmocom/bsc/a_reset.h +++ b/include/osmocom/bsc/a_reset.h @@ -33,9 +33,6 @@ struct a_reset_ctx { * will be triggered */ int conn_loss_counter; - /* A human readable name to display in the logs */ - char name[256]; - /* Callback function to be called when a connection * failure is detected and a rest must occur */ void (*cb)(void *priv); diff --git a/src/libcommon-cs/a_reset.c b/src/libcommon-cs/a_reset.c index f08d81329..5e45b0902 100644 --- a/src/libcommon-cs/a_reset.c +++ b/src/libcommon-cs/a_reset.c @@ -62,8 +62,9 @@ static void fsm_disc_cb(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct a_reset_ctx *reset = (struct a_reset_ctx *)data; OSMO_ASSERT(reset); + OSMO_ASSERT(reset->fsm); - LOGP(DMSC, LOGL_NOTICE, "(%s) fsm-state (msc-reset): %s, fsm-event: %s\n", reset->name, + LOGPFSML(reset->fsm, LOGL_NOTICE, "fsm-state (msc-reset): %s, fsm-event: %s\n", get_value_string(fsm_state_names, ST_CONN), get_value_string(fsm_evt_names, event)); reset->conn_loss_counter = 0; @@ -76,13 +77,13 @@ static void fsm_conn_cb(struct osmo_fsm_inst *fi, uint32_t event, void *data) struct a_reset_ctx *reset = (struct a_reset_ctx *)data; OSMO_ASSERT(reset); - LOGP(DMSC, LOGL_NOTICE, "(%s) fsm-state (msc-reset): %s, fsm-event: %s\n", reset->name, + LOGPFSML(reset->fsm, LOGL_NOTICE, "fsm-state (msc-reset): %s, fsm-event: %s\n", get_value_string(fsm_state_names, ST_CONN), get_value_string(fsm_evt_names, event)); switch (event) { case EV_N_DISCONNECT: if (reset->conn_loss_counter >= BAD_CONNECTION_THRESOLD) { - LOGP(DMSC, LOGL_NOTICE, "(%s) SIGTRAN connection down, reconnecting...\n", reset->name); + LOGPFSML(reset->fsm, LOGL_NOTICE, "SIGTRAN connection down, reconnecting...\n"); osmo_fsm_inst_state_chg(fi, ST_DISC, RESET_RESEND_INTERVAL, RESET_RESEND_TIMER_NO); } else reset->conn_loss_counter++; @@ -97,8 +98,9 @@ static void fsm_conn_cb(struct osmo_fsm_inst *fi, uint32_t event, void *data) static int fsm_reset_ack_timeout_cb(struct osmo_fsm_inst *fi) { struct a_reset_ctx *reset = (struct a_reset_ctx *)fi->priv; + OSMO_ASSERT(reset->fsm); - LOGP(DMSC, LOGL_NOTICE, "(%s) reset-ack timeout (T%i) in state %s, resending...\n", reset->name, fi->T, + LOGPFSML(reset->fsm, LOGL_NOTICE, "reset-ack timeout (T%i) in state %s, resending...\n", fi->T, get_value_string(fsm_state_names, fi->state)); reset->cb(reset->priv); @@ -147,12 +149,11 @@ struct a_reset_ctx *a_reset_alloc(const void *ctx, const char *name, void *cb, v OSMO_ASSERT(reset); reset->priv = priv; reset->cb = cb; - strncpy(reset->name, name, sizeof(reset->name)); reset->conn_loss_counter = 0; - reset->fsm = osmo_fsm_inst_alloc(&fsm, NULL, NULL, LOGL_DEBUG, NULL); + reset->fsm = osmo_fsm_inst_alloc(&fsm, NULL, NULL, LOGL_DEBUG, name); OSMO_ASSERT(reset->fsm); reset->fsm->priv = reset; - LOGP(DMSC, LOGL_NOTICE, "(%s) reset handler fsm created.\n", reset->name); + LOGPFSML(reset->fsm, LOGL_NOTICE, "reset handler fsm created.\n"); /* kick off reset-ack sending mechanism */ osmo_fsm_inst_state_chg(reset->fsm, ST_DISC, RESET_RESEND_INTERVAL, RESET_RESEND_TIMER_NO); @@ -172,7 +173,7 @@ void a_reset_free(struct a_reset_ctx *reset) memset(reset, 0, sizeof(*reset)); talloc_free(reset); - LOGP(DMSC, LOGL_NOTICE, "(%s) reset handler fsm destroyed.\n", reset->name); + LOGPFSML(reset->fsm, LOGL_NOTICE, "reset handler fsm destroyed.\n"); } /* Confirm that we sucessfully received a reset acknowlege message */ -- cgit v1.2.3