diff options
Diffstat (limited to 'src/cmd/gc/bv.c')
-rw-r--r-- | src/cmd/gc/bv.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cmd/gc/bv.c b/src/cmd/gc/bv.c index 0e8f8d473..cfd1cd281 100644 --- a/src/cmd/gc/bv.c +++ b/src/cmd/gc/bv.c @@ -108,6 +108,9 @@ bvnext(Bvec *bv, int32 i) { uint32 w; + if(i >= bv->n) + return -1; + // Jump i ahead to next word with bits. if((bv->b[i>>WORDSHIFT]>>(i&WORDMASK)) == 0) { i &= ~WORDMASK; @@ -117,7 +120,7 @@ bvnext(Bvec *bv, int32 i) } if(i >= bv->n) return -1; - + // Find 1 bit. w = bv->b[i>>WORDSHIFT]>>(i&WORDMASK); while((w&1) == 0) { |