Fix NPE in OpenSslEngine

Motivation:

The gRPC interop tests fail due to a NPE in OpenSslEngine.

Caused by: java.lang.NullPointerException
at io.netty.handler.ssl.OpenSslEngine.setSSLParameters(OpenSslEngine.java:1473)

Modifications:

Add a null check

Result:

No more NPE exceptions :-)
This commit is contained in:
buchgr 2016-06-30 11:03:55 +02:00 committed by Norman Maurer
parent 7673bed45a
commit a96a97356f

View File

@ -1470,12 +1470,15 @@ public final class OpenSslEngine extends SSLEngine {
assert GET_ASCII_NAME_METHOD != null; assert GET_ASCII_NAME_METHOD != null;
try { try {
List<?> servernames = (List<?>) GET_SERVER_NAMES_METHOD.invoke(sslParameters); List<?> servernames = (List<?>) GET_SERVER_NAMES_METHOD.invoke(sslParameters);
for (Object serverName : servernames) { if (servernames != null) {
if (SNI_HOSTNAME_CLASS.isInstance(serverName)) { for (Object serverName : servernames) {
SSL.setTlsExtHostName(ssl, (String) GET_ASCII_NAME_METHOD.invoke(serverName)); if (SNI_HOSTNAME_CLASS.isInstance(serverName)) {
} else { SSL.setTlsExtHostName(ssl, (String) GET_ASCII_NAME_METHOD.invoke(serverName));
throw new IllegalArgumentException("Only " + SNI_HOSTNAME_CLASS.getName() } else {
+ " instances are supported, but found: " + serverName); throw new IllegalArgumentException("Only " + SNI_HOSTNAME_CLASS.getName()
+ " instances are supported, but found: " +
serverName);
}
} }
} }
sniHostNames = servernames; sniHostNames = servernames;