Author: toad
Date: 2008-03-11 16:49:38 +0000 (Tue, 11 Mar 2008)
New Revision: 18463

Modified:
   trunk/freenet/src/freenet/node/FailureTableEntry.java
Log:
Fix ArrayIndexOutOfBoundsException and possibly more subtle errors in 
FailureTableEntry

Modified: trunk/freenet/src/freenet/node/FailureTableEntry.java
===================================================================
--- trunk/freenet/src/freenet/node/FailureTableEntry.java       2008-03-11 
16:18:36 UTC (rev 18462)
+++ trunk/freenet/src/freenet/node/FailureTableEntry.java       2008-03-11 
16:49:38 UTC (rev 18463)
@@ -157,7 +157,7 @@
                        WeakReference ref = requestorNodes[i];
                        PeerNode pn = (PeerNode) (ref == null ? null : 
ref.get());
                        if(pn == null) continue;
-                       if(pn == requestor) ret = i;
+                       if(pn == requestor) ret = toIndex;
                        newRequestorNodes[toIndex] = requestorNodes[i];
                        newRequestorTimes[toIndex] = requestorTimes[i];
                        newRequestorBootIDs[toIndex] = requestorBootIDs[i];
@@ -238,7 +238,7 @@
                        WeakReference ref = requestedNodes[i];
                        PeerNode pn = (PeerNode) (ref == null ? null : 
ref.get());
                        if(pn == null) continue;
-                       if(pn == requestedFrom) ret = i;
+                       if(pn == requestedFrom) ret = toIndex;
                        newRequestedNodes[toIndex] = requestedNodes[i];
                        newRequestedTimes[toIndex] = requestedTimes[i];
                        newRequestedBootIDs[toIndex] = requestedBootIDs[i];


Reply via email to