lib: smf: check for NULL
don't execute share_paren() if the target is NULL
in smf_execute_ancestor_exit_actions()
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
diff --git a/lib/smf/smf.c b/lib/smf/smf.c
index d869de4..ecc1074 100644
--- a/lib/smf/smf.c
+++ b/lib/smf/smf.c
@@ -172,7 +172,8 @@
for (const struct smf_state *tmp_state = ctx->current->parent;
tmp_state != NULL;
tmp_state = tmp_state->parent) {
- if (!share_paren(target->parent, tmp_state) && tmp_state->exit) {
+ if ((target == NULL || !share_paren(target->parent, tmp_state)) &&
+ tmp_state->exit) {
tmp_state->exit(ctx);
/* No need to continue if terminate was set */