Fix continue in a loop body leaking heap-allocated variables. (bug 6370, r=fyren)
This commit is contained in:
parent
8cb2fcdf65
commit
b491345d78
@ -7253,6 +7253,7 @@ static int dofor(void)
|
|||||||
save_nestlevel=nestlevel;
|
save_nestlevel=nestlevel;
|
||||||
save_endlessloop=endlessloop;
|
save_endlessloop=endlessloop;
|
||||||
pushstacklist();
|
pushstacklist();
|
||||||
|
pushheaplist();
|
||||||
|
|
||||||
addwhile(wq);
|
addwhile(wq);
|
||||||
skiplab=getlabel();
|
skiplab=getlabel();
|
||||||
@ -7350,6 +7351,8 @@ static int dofor(void)
|
|||||||
setlabel(wq[wqEXIT]);
|
setlabel(wq[wqEXIT]);
|
||||||
delwhile();
|
delwhile();
|
||||||
|
|
||||||
|
popheaplist();
|
||||||
|
|
||||||
assert(nestlevel>=save_nestlevel);
|
assert(nestlevel>=save_nestlevel);
|
||||||
if (nestlevel>save_nestlevel) {
|
if (nestlevel>save_nestlevel) {
|
||||||
/* Clean up the space and the symbol table for the local
|
/* Clean up the space and the symbol table for the local
|
||||||
|
Loading…
Reference in New Issue
Block a user