mirror of https://github.com/golang/go.git
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:
parent
2e78447baf
commit
be4ecd9815
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Reference in New Issue