Commit be4ecd98 authored by Russ Cox's avatar Russ Cox

cmd/gc: avoid writing past end of region array

Noticed last week.
Just saw a strange build failure in the revised rcmp (called by qsort on region)
and this fixed it.

Submitting first to avoid finding out which of my pending CLs tickled the
problem.

Change-Id: I4cafd611e2bf8e813e57ad0025e48bde5ae54359
Reviewed-on: https://go-review.googlesource.com/4830Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
parent 2e78447b
......@@ -351,21 +351,21 @@ loop2:
bit.b[z] = LOAD(r) & ~(r->act.b[z] | addrs.b[z]);
while(bany(&bit)) {
i = bnum(bit);
rgp->enter = f;
rgp->varno = i;
change = 0;
paint1(f, i);
biclr(&bit, i);
if(change <= 0)
continue;
rgp->cost = change;
nregion++;
if(nregion >= NRGN) {
if(debug['R'] && debug['v'])
print("too many regions\n");
goto brk;
}
rgp->enter = f;
rgp->varno = i;
rgp->cost = change;
rgp++;
nregion++;
}
}
brk:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment