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/4830
Reviewed-by: Russ Cox <rsc@golang.org>
This commit is contained in:
Russ Cox 2015-02-13 11:54:15 -05:00
parent 2e78447baf
commit be4ecd9815
1 changed files with 4 additions and 4 deletions

View File

@ -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: