Author: toad
Date: 2007-12-08 18:53:28 +0000 (Sat, 08 Dec 2007)
New Revision: 16418

Modified:
   trunk/freenet/src/freenet/node/PeerNode.java
Log:
Fix ArrayIndexOutOfBoundsException

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2007-12-08 18:43:54 UTC 
(rev 16417)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2007-12-08 18:53:28 UTC 
(rev 16418)
@@ -3335,15 +3335,17 @@
                        validIPs.add(peer);
                }
                Peer ret;
-               if(validIPs.size() > 1) {
+               if(validIPs.isEmpty()) {
+                       ret = null;
+               } else if(validIPs.size() == 1) {
+                       ret = (Peer) validIPs.get(0);
+               } else {
                        synchronized(this) {
                                if(handshakeIPAlternator > validIPs.size())
                                        handshakeIPAlternator = 0;
                                ret = (Peer) 
validIPs.get(handshakeIPAlternator);
                                handshakeIPAlternator++;
                        }
-               } else {
-                       ret = (Peer) validIPs.get(0);
                }
                long loopTime2 = System.currentTimeMillis();
                if((loopTime2 - loopTime1) > 1000)


Reply via email to