eval: Set returning_from_matcher while cse ist still valid

matcher_init_matching appends an element of the call stack, so the cse
pointer into the stack is no longer valid.
This commit is contained in:
Laria 2022-08-06 12:53:24 +02:00
parent a160dea021
commit 6d77715e0d

View file

@ -637,8 +637,8 @@ evaluate(apfl_ctx ctx, struct func_call_stack_entry *cse)
// So this new CSE gets executed. By setting returning_from_matcher, we know that we came from the matcher,
// once it returns.
matcher_init_matching(ctx, cse->matcher);
cse->returning_from_matcher = true;
matcher_init_matching(ctx, cse->matcher);
return;
case INSN_MATCHER_DROP: