Author: toad
Date: 2007-06-12 21:16:36 +0000 (Tue, 12 Jun 2007)
New Revision: 13541

Modified:
   trunk/freenet/src/freenet/support/BitArray.java
Log:
Fix bug in firstOne() that was causing problems in bulk transfer

Modified: trunk/freenet/src/freenet/support/BitArray.java
===================================================================
--- trunk/freenet/src/freenet/support/BitArray.java     2007-06-12 20:21:24 UTC 
(rev 13540)
+++ trunk/freenet/src/freenet/support/BitArray.java     2007-06-12 21:16:36 UTC 
(rev 13541)
@@ -123,8 +123,11 @@
                        if(b == 0) continue;
                        for(int j=0;j<8;j++) {
                                int mask = (1 << j);
-                               if((b & mask) != 0)
-                                       return i*8+j;
+                               if((b & mask) != 0) {
+                                       int x = i*8+j;
+                                       if(x > _size) return -1;
+                                       return x;
+                               }
                        }
                }
                return -1;


Reply via email to