src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c
Print this page
*** 333,342 ****
--- 333,344 ----
fd_set tbl;
struct timeval t = { 0, 0 };
struct sockaddr_in rmtaddr;
int addrlen = sizeof(rmtaddr);
+ memset((char *)&rmtaddr, 0, sizeof(rmtaddr));
+
/*
* A no-op if this OS doesn't support it.
*/
if (!supportPortUnreachable()) {
return JNI_FALSE;
*** 429,441 ****
int fd, fd1, family;
int ipv6_supported = ipv6_available();
SOCKETADDRESS lcladdr;
! int lcladdrlen;
int address;
family = getInetAddress_family(env, addressObj);
if (family == IPv6 && !ipv6_supported) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
"Protocol family not supported");
return;
--- 431,445 ----
int fd, fd1, family;
int ipv6_supported = ipv6_available();
SOCKETADDRESS lcladdr;
! int lcladdrlen = sizeof(lcladdr);
int address;
+ memset((char *)&lcladdr, 0, sizeof(lcladdr));
+
family = getInetAddress_family(env, addressObj);
if (family == IPv6 && !ipv6_supported) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
"Protocol family not supported");
return;
*** 615,633 ****
/* disconnect doesn't throw any exceptions */
return;
}
fd = (*env)->GetIntField(env, fdObj, IO_fd_fdID);
! memset(&addr, 0, len);
connect(fd, (struct sockaddr *)&addr, len);
/*
* use SIO_UDP_CONNRESET
* to disable ICMP port unreachable handling here.
*/
if (xp_or_later) {
! DWORD x1, x2; /* ignored result codes */
int t = FALSE;
WSAIoctl(fd,SIO_UDP_CONNRESET,&t,sizeof(t),&x1,sizeof(x1),&x2,0,0);
}
}
--- 619,637 ----
/* disconnect doesn't throw any exceptions */
return;
}
fd = (*env)->GetIntField(env, fdObj, IO_fd_fdID);
! memset((char *)&addr, 0, len);
connect(fd, (struct sockaddr *)&addr, len);
/*
* use SIO_UDP_CONNRESET
* to disable ICMP port unreachable handling here.
*/
if (xp_or_later) {
! DWORD x1 = 0, x2 = 0; /* ignored result codes */
int t = FALSE;
WSAIoctl(fd,SIO_UDP_CONNRESET,&t,sizeof(t),&x1,sizeof(x1),&x2,0,0);
}
}
*** 653,664 ****
jbyteArray packetBuffer;
jboolean connected;
SOCKETADDRESS rmtaddr;
SOCKETADDRESS *addrp = &rmtaddr;
! int addrlen;
if (IS_NULL(packet)) {
JNU_ThrowNullPointerException(env, "null packet");
return;
}
--- 657,669 ----
jbyteArray packetBuffer;
jboolean connected;
SOCKETADDRESS rmtaddr;
SOCKETADDRESS *addrp = &rmtaddr;
! int addrlen = 0;
+ memset((char *)&rmtaddr, 0, sizeof(rmtaddr));
if (IS_NULL(packet)) {
JNU_ThrowNullPointerException(env, "null packet");
return;
}
*** 1442,1452 ****
JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
"operation interrupted");
} else if (n < 0) {
NET_ThrowCurrent(env, "Datagram receive failed");
} else {
! int port;
jobject packetAddress;
/*
* Check if there is an InetAddress already associated with this
* packet. If so we check if it is the same source address. We
--- 1447,1457 ----
JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
"operation interrupted");
} else if (n < 0) {
NET_ThrowCurrent(env, "Datagram receive failed");
} else {
! int port = 0;
jobject packetAddress;
/*
* Check if there is an InetAddress already associated with this
* packet. If so we check if it is the same source address. We
*** 1820,1834 ****
JNIEXPORT void JNICALL
Java_java_net_TwoStacksPlainDatagramSocketImpl_socketNativeSetOption(JNIEnv *env,jobject this,
jint opt,jobject value) {
int fd=-1, fd1=-1;
! int levelv4, levelv6, optnamev4, optnamev6, optlen;
union {
int i;
char c;
! } optval;
int ipv6_supported = ipv6_available();
fd = getFD(env, this);
if (ipv6_supported) {
fd1 = getFD1(env, this);
--- 1825,1839 ----
JNIEXPORT void JNICALL
Java_java_net_TwoStacksPlainDatagramSocketImpl_socketNativeSetOption(JNIEnv *env,jobject this,
jint opt,jobject value) {
int fd=-1, fd1=-1;
! int levelv4 = 0, levelv6 = 0, optnamev4 = 0, optnamev6 = 0, optlen = 0;
union {
int i;
char c;
! } optval = { 0 };
int ipv6_supported = ipv6_available();
fd = getFD(env, this);
if (ipv6_supported) {
fd1 = getFD1(env, this);
*** 2191,2201 ****
int fd=-1, fd1=-1;
int level, optname, optlen;
union {
int i;
! } optval;
int ipv6_supported = ipv6_available();
fd = getFD(env, this);
if (ipv6_supported) {
fd1 = getFD1(env, this);
--- 2196,2206 ----
int fd=-1, fd1=-1;
int level, optname, optlen;
union {
int i;
! } optval = {0};
int ipv6_supported = ipv6_available();
fd = getFD(env, this);
if (ipv6_supported) {
fd1 = getFD1(env, this);
*** 2442,2457 ****
SOCKETADDRESS name;
struct ip_mreq mname;
struct ipv6_mreq mname6;
struct in_addr in;
! DWORD ifindex;
int len, family;
int ipv6_supported = ipv6_available();
int cmd ;
if (IS_NULL(fdObj) && IS_NULL(fd1Obj)) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
"Socket closed");
return;
}
--- 2447,2465 ----
SOCKETADDRESS name;
struct ip_mreq mname;
struct ipv6_mreq mname6;
struct in_addr in;
! DWORD ifindex = 0;
int len, family;
int ipv6_supported = ipv6_available();
int cmd ;
+ memset((char *)&in, 0, sizeof(in));
+ memset((char *)&name, 0, sizeof(name));
+
if (IS_NULL(fdObj) && IS_NULL(fd1Obj)) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
"Socket closed");
return;
}