Author: robert
Date: 2008-02-09 01:00:32 +0000 (Sat, 09 Feb 2008)
New Revision: 17731
Modified:
trunk/freenet/src/freenet/node/NetworkIDManager.java
Log:
off-by-one
Modified: trunk/freenet/src/freenet/node/NetworkIDManager.java
===================================================================
--- trunk/freenet/src/freenet/node/NetworkIDManager.java 2008-02-09
00:59:11 UTC (rev 17730)
+++ trunk/freenet/src/freenet/node/NetworkIDManager.java 2008-02-09
01:00:32 UTC (rev 17731)
@@ -596,8 +596,14 @@
PeerNetworkGroup newGroup = new PeerNetworkGroup();
newNetworkGroups.add(newGroup);
todo.remove(mostConnected);
- //NB: as a side effect, this function will
automatically remove the members from 'todo'.
- List members=xferConnectedPeerSetFor(mostConnected,
todo);
+ List members;
+ if (todo.isEmpty()) {
+ //sad... it looks like this guy gets a group to
himself
+ members=new ArrayList();
+ } else {
+ //NB: as a side effect, this function will
automatically remove the members from 'todo'.
+ members=xferConnectedPeerSetFor(mostConnected,
todo);
+ }
members.add(mostConnected);
newGroup.setMembers(members);
newGroup.setForbiddenIds(takenNetworkIds);