Author: toad
Date: 2008-02-16 13:44:14 +0000 (Sat, 16 Feb 2008)
New Revision: 17991
Modified:
trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java
Log:
Fix ArrayIndexOutOfBounds
Modified: trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java
===================================================================
--- trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java
2008-02-16 13:36:10 UTC (rev 17990)
+++ trunk/freenet/src/freenet/client/async/RequestCooldownQueue.java
2008-02-16 13:44:14 UTC (rev 17991)
@@ -65,11 +65,11 @@
private synchronized void add(Key key, long removeTime) {
logMINOR = Logger.shouldLog(Logger.MINOR, this);
if(logMINOR)
- Logger.minor(this, "Adding key "+key+" remove time
"+removeTime+" startPtr="+startPtr+" endPtr="+endPtr);
+ Logger.minor(this, "Adding key "+key+" remove time
"+removeTime+" startPtr="+startPtr+" endPtr="+endPtr+"
keys.length="+keys.length);
int ptr = endPtr;
if(endPtr > startPtr) {
if(logMINOR) Logger.minor(this, "endPtr > startPtr");
- if(endPtr >= keys.length-1) {
+ if(endPtr == keys.length-1) {
// Last key
if(ptr == 0) {
// No room
@@ -95,7 +95,7 @@
} else /* endPtr == startPtr : nothing queued */ {
if(logMINOR) Logger.minor(this, "endPtr == startPtr");
endPtr++;
- if(endPtr == keys.length-1) endPtr = 0;
+ if(endPtr == keys.length) endPtr = 0;
}
if(logMINOR) Logger.minor(this, "Added at "+ptr+"
startPtr="+startPtr+" endPtr="+endPtr);
keys[ptr] = key;