summaryrefslogtreecommitdiffhomepage
path: root/eval.c
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2020-10-06 22:39:14 +0200
committerJo-Philipp Wich <jo@mein.io>2020-10-06 22:48:05 +0200
commit4d1c4e28b8d8368a105717e142f8e920cbf4ea0f (patch)
treeff28efff9b8232ec0bcaaed2805bb9533f6fcb17 /eval.c
parent1ecd1c828d8a0bd1446021912d68a42e24acdcc5 (diff)
eval: properly break out of switch/case on return/continue/exception
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 074baa5..fdc88b9 100644
--- a/eval.c
+++ b/eval.c
@@ -1449,6 +1449,9 @@ ut_execute_switch_case(struct ut_state *state, uint32_t off)
rv = NULL;
break;
}
+ else if (ut_is_type(rv, T_RETURN) || ut_is_type(rv, T_EXCEPTION) || ut_is_type(rv, T_CONTINUE)) {
+ break;
+ }
}
json_object_put(v[0]);