--- old/src/java.base/share/classes/java/net/Socket.java 2019-05-27 11:33:56.877804611 +0100 +++ new/src/java.base/share/classes/java/net/Socket.java 2019-05-27 11:33:56.613804620 +0100 @@ -33,6 +33,7 @@ import java.nio.channels.SocketChannel; import java.security.AccessController; import java.security.PrivilegedAction; +import java.util.Objects; import java.util.Set; import java.util.Collections; @@ -1786,6 +1787,9 @@ * @since 9 */ public Socket setOption(SocketOption name, T value) throws IOException { + Objects.requireNonNull(name); + if (isClosed()) + throw new SocketException("Socket is closed"); getImpl().setOption(name, value); return this; } @@ -1815,6 +1819,9 @@ */ @SuppressWarnings("unchecked") public T getOption(SocketOption name) throws IOException { + Objects.requireNonNull(name); + if (isClosed()) + throw new SocketException("Socket is closed"); return getImpl().getOption(name); }