Looks like a bug to me.
Network issues are better raised on net-dev@openjdk.java.net

Created:
8147862 Null check too late in sun.net.httpserver.ServerImpl <https://bugs.openjdk.java.net/browse/JDK-8147862>

Thanks, Roger

On 1/20/2016 1:18 PM, Scott Palmer wrote:
I was searching for a way to set TCP_NODELAY for an Endpoint using the default 
HTTP server and after finally tracking down the existence of the 
“sun.net.httpserver.nodelay” system property I noticed what appears to be a 
mistake (though not a big one) in the source code.

Look here:
http://hg.openjdk.java.net/jdk9/jdk9/jdk/file/c3ecf996006a/src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java#l377

Notice the null check on ‘chan’ is performed after it may have been 
dereferenced to set the TCP_NODELAY on the channel’s socket.  If chan truly can 
be null at that point, the check needs to be move up a few lines.

Regards,

Scott

Reply via email to