Author: toad
Date: 2008-10-29 22:46:28 +0000 (Wed, 29 Oct 2008)
New Revision: 23207

Modified:
   branches/db4o/freenet/src/freenet/support/RandomGrabArray.java
Log:
Fix ArrayIndexOutOfBounds


Modified: branches/db4o/freenet/src/freenet/support/RandomGrabArray.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/RandomGrabArray.java      
2008-10-29 22:46:07 UTC (rev 23206)
+++ branches/db4o/freenet/src/freenet/support/RandomGrabArray.java      
2008-10-29 22:46:28 UTC (rev 23207)
@@ -327,8 +327,9 @@
                int endBlock = index / BLOCK_SIZE;
                if(blocks.length == 1 || blockNo == endBlock) {
                        RandomGrabArrayItem[] items = blocks[blockNo].reqs;
-                       items[i] = items[index];
-                       items[index] = null;
+                       int idx = index % BLOCK_SIZE;
+                       items[i] = items[idx];
+                       items[idx] = null;
                        if(persistent)
                                container.store(blocks[blockNo]);
                } else {


Reply via email to