diff options
Diffstat (limited to 'src/execute.c')
-rw-r--r-- | src/execute.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/execute.c b/src/execute.c index fd2ab2c..d840582 100644 --- a/src/execute.c +++ b/src/execute.c @@ -561,7 +561,11 @@ jv jq_next(jq_state *jq) { printf(" (%d)\n", jv_get_refcnt(*var)); } jv_free(stack_popn(jq)); + + // This `stack_push()` invalidates the `var` reference, so stack_push(jq, *var); + // we have to re-resolve `var` before we can set it to null + var = frame_local_var(jq, v, level); *var = jv_null(); break; } |