Author: elecharny
Date: Thu Mar 19 23:48:59 2009
New Revision: 756268

URL: http://svn.apache.org/viewvc?rev=756268&view=rev
Log:
Added checks against NPE

Modified:
    
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketSession.java

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketSession.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketSession.java?rev=756268&r1=756267&r2=756268&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketSession.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketSession.java
 Thu Mar 19 23:48:59 2009
@@ -20,6 +20,7 @@
 package org.apache.mina.transport.socket.nio;
 
 import java.net.InetSocketAddress;
+import java.net.Socket;
 import java.net.SocketException;
 import java.nio.channels.SelectionKey;
 import java.nio.channels.SocketChannel;
@@ -124,12 +125,38 @@
         return handler;
     }
 
+    /**
+     * {...@inheritdoc}
+     */
     public InetSocketAddress getRemoteAddress() {
-        return (InetSocketAddress) ch.socket().getRemoteSocketAddress();
+        if ( ch == null ) {
+            return null;
+        }
+        
+        Socket socket = ch.socket();
+        
+        if ( socket == null ) {
+            return null;
+        }
+        
+        return (InetSocketAddress) socket.getRemoteSocketAddress();
     }
 
+    /**
+     * {...@inheritdoc}
+     */
     public InetSocketAddress getLocalAddress() {
-        return (InetSocketAddress) ch.socket().getLocalSocketAddress();
+        if ( ch == null ) {
+            return null;
+        }
+        
+        Socket socket = ch.socket();
+        
+        if ( socket == null ) {
+            return null;
+        }
+        
+        return (InetSocketAddress) socket.getLocalSocketAddress();
     }
 
     @Override


Reply via email to