[freenet-cvs] r12170 - trunk/freenet/src/freenet/node

nextgens at freenetproject.org nextgens at freenetproject.org
Sat Mar 17 12:05:03 UTC 2007


Author: nextgens
Date: 2007-03-17 12:04:58 +0000 (Sat, 17 Mar 2007)
New Revision: 12170

Modified:
   trunk/freenet/src/freenet/node/IPDetectorPluginManager.java
Log:
prevent a potential NPE to be thrown in IPDetectorPluginManager

Modified: trunk/freenet/src/freenet/node/IPDetectorPluginManager.java
===================================================================
--- trunk/freenet/src/freenet/node/IPDetectorPluginManager.java	2007-03-17 11:58:10 UTC (rev 12169)
+++ trunk/freenet/src/freenet/node/IPDetectorPluginManager.java	2007-03-17 12:04:58 UTC (rev 12170)
@@ -276,27 +276,29 @@
 						// Has been connected in the last 24 hours.
 						// Unique IP address?
 						Peer peer = p.getPeer();
-						InetAddress addr = peer.getAddress(false);
-						if(p.isConnected() && (peer != null) && (addr != null) && IPUtil.isValidAddress(peer.getAddress(), false)) {
-							// Connected node, on a real internet IP address.
-							// Is it internal?
-							boolean internal = false;
-							for(int j=0;j<nodeAddrs.length;j++) {
-								if(addr.equals(nodeAddrs[j].getAddress())) {
-									// Internal
-									internal = true;
-									break;
+						if(peer != null){
+							InetAddress addr = peer.getAddress(false);
+							if(p.isConnected() && (addr != null) && IPUtil.isValidAddress(peer.getAddress(), false)) {
+								// Connected node, on a real internet IP address.
+								// Is it internal?
+								boolean internal = false;
+								for(int j=0;j<nodeAddrs.length;j++) {
+									if(addr.equals(nodeAddrs[j].getAddress())) {
+										// Internal
+										internal = true;
+										break;
+									}
 								}
-							}
-							if(!internal) {
-								// Real IP address
-								if(addressesConnected == null)
-									addressesConnected = new HashSet();
-								addressesConnected.add(addr);
-								if(addressesConnected.size() > 2) {
-									// 3 connected addresses, lets assume we have connectivity.
-									if(logMINOR) Logger.minor(this, "Node has directly detected IP and has connected to 3 real IPs");
-									return;
+								if(!internal) {
+									// Real IP address
+									if(addressesConnected == null)
+										addressesConnected = new HashSet();
+									addressesConnected.add(addr);
+									if(addressesConnected.size() > 2) {
+										// 3 connected addresses, lets assume we have connectivity.
+										if(logMINOR) Logger.minor(this, "Node has directly detected IP and has connected to 3 real IPs");
+										return;
+									}
 								}
 							}
 						}




More information about the cvs mailing list