diff --git a/src/java.base/windows/native/libnet/Inet4AddressImpl.c b/src/java.base/windows/native/libnet/Inet4AddressImpl.c index 0d897f5b01769de5e455f0f9c96fce6a23adbb50..a59dd214d0f4efd28155b015800c76673ed4542d 100644 --- a/src/java.base/windows/native/libnet/Inet4AddressImpl.c +++ b/src/java.base/windows/native/libnet/Inet4AddressImpl.c @@ -326,7 +326,7 @@ ping4(JNIEnv *env, HANDLE hIcmpFile, SOCKETADDRESS *sa, ReplyBuffer = (VOID *)malloc(ReplySize); if (ReplyBuffer == NULL) { IcmpCloseHandle(hIcmpFile); - NET_ThrowNew(env, WSAGetLastError(), "Unable to allocate memory"); + NET_ThrowNew(env, -1, "Unable to allocate memory"); return JNI_FALSE; } diff --git a/src/java.base/windows/native/libnet/Inet6AddressImpl.c b/src/java.base/windows/native/libnet/Inet6AddressImpl.c index c3171bce3302e4336996a174c2f5d1e4b6a76d61..993e5f8908943cb474d99b15209affd3163168a1 100644 --- a/src/java.base/windows/native/libnet/Inet6AddressImpl.c +++ b/src/java.base/windows/native/libnet/Inet6AddressImpl.c @@ -396,7 +396,7 @@ ping6(JNIEnv *env, HANDLE hIcmpFile, SOCKETADDRESS *sa, ReplyBuffer = (VOID *)malloc(ReplySize); if (ReplyBuffer == NULL) { IcmpCloseHandle(hIcmpFile); - NET_ThrowNew(env, WSAGetLastError(), "Unable to allocate memory"); + NET_ThrowNew(env, -1, "Unable to allocate memory"); return JNI_FALSE; } diff --git a/src/java.base/windows/native/libnet/SocketInputStream.c b/src/java.base/windows/native/libnet/SocketInputStream.c index b4022fb5d6053f4c0f5d6c27a7e542ce1bbada05..c3291b83ff5fdd931bd773fbdc57e07f0f3fba95 100644 --- a/src/java.base/windows/native/libnet/SocketInputStream.c +++ b/src/java.base/windows/native/libnet/SocketInputStream.c @@ -122,12 +122,13 @@ Java_java_net_SocketInputStream_socketRead0(JNIEnv *env, jobject this, (*env)->SetByteArrayRegion(env, data, off, nread, (jbyte *)bufP); } else { if (nread < 0) { + int err = WSAGetLastError(); // Check if the socket has been closed since we last checked. // This could be a reason for recv failing. if ((*env)->GetIntField(env, fdObj, IO_fd_fdID) == -1) { JNU_ThrowByName(env, "java/net/SocketException", "Socket closed"); } else { - switch (WSAGetLastError()) { + switch (err) { case WSAEINTR: JNU_ThrowByName(env, "java/net/SocketException", "socket closed");