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