From 3d4fb593292c250e2f99cda7c2f804281df0d8f8 Mon Sep 17 00:00:00 2001 From: Philipp Maier Date: Tue, 15 May 2018 10:06:22 +0200 Subject: fsm: guard action callback The FSM allows to set individual action callback functions for each state but it does not allow to leave the action callback pointer unpopulated. However, there are cornercases where having no callback function is desirable. - Check if action callback is popolated before executing it. Change-Id: I36d221c973d3890721ef1d376fb9be82c4311378 --- src/fsm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fsm.c b/src/fsm.c index ae2fdc2a..0370f65e 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -541,7 +541,9 @@ int _osmo_fsm_inst_dispatch(struct osmo_fsm_inst *fi, uint32_t event, void *data osmo_fsm_event_name(fsm, event)); return -1; } - fs->action(fi, event, data); + + if (fs->action) + fs->action(fi, event, data); return 0; } -- cgit v1.2.3