diff options
| author | 2022-08-08 09:01:19 +0200 | |
|---|---|---|
| committer | 2022-08-08 09:01:19 +0200 | |
| commit | 0a57a8979a75ce5398b34817c86a55c6d0552bca (patch) | |
| tree | 2430fabcb1c1ca0d6dfe6685bebf2df70c191559 /bootstrap | |
| parent | 215c18ebc86b116827d3af19ca0779316e1a0e15 (diff) | |
some free
Diffstat (limited to 'bootstrap')
| -rw-r--r-- | bootstrap/parse.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/bootstrap/parse.c b/bootstrap/parse.c index 631d007..93a3afb 100644 --- a/bootstrap/parse.c +++ b/bootstrap/parse.c @@ -1906,8 +1906,10 @@ pstfor(struct parser *P, const char *label) { } WITH_TMPCHANGE(int, P->curloop, st.loop.id) st.loop.body = parseblock(P).block; - if (label) + if (label) { + free(env.decls); popenv(P); + } return st; } @@ -2207,8 +2209,10 @@ parsestmt(stmt_yielder_t yield, void *yarg, struct parser *P) { } WITH_TMPCHANGE(int, P->curloop, st.loop.id) st.loop.body = parseblock(P).block; - if (label) + if (label) { + free(env.decls); popenv(P); + } } else if (lexmatch(P, &tok, TKkw_for)) { forl: st.span = tok.span; |