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 {