diff --git a/src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java b/src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java index b4129964662..2dbfdcdca41 100644 --- a/src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java +++ b/src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java @@ -650,8 +650,10 @@ public final class SSLSocketImpl // Use user_canceled alert regardless the protocol versions. useUserCanceled = true; - // The protocol version may have been negotiated. - ProtocolVersion pv = conContext.handshakeContext.negotiatedProtocol; + // The protocol version may have been negotiated. The + // conContext.handshakeContext.negotiatedProtocol is not used as there + // may be a race to set it to null. + ProtocolVersion pv = conContext.protocolVersion; if (pv == null || (!pv.useTLS13PlusSpec())) { hasCloseReceipt = true; } @@ -1386,7 +1388,6 @@ public final class SSLSocketImpl } finally { socketLock.unlock(); } - return null; }