From 97d6911fb581f9e44785db29abbf97ce77713f50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Draszik?= Date: Fri, 2 Mar 2018 11:13:08 +0000 Subject: [PATCH 1/9] jdk: comparison between pointer and integer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In file included from jdk/src/share/native/java/net/net_util.c:28:0: jdk/src/share/native/java/net/net_util.c: In function 'NET_SockaddrToInetAddress': jdk/src/share/native/common/jni_util.h:302:17: warning: comparison between pointer and integer if ((x) == NULL) { \ ^ jdk/src/share/native/java/net/net_util.c:225:13: note: in expansion of macro 'CHECK_NULL_RETURN' CHECK_NULL_RETURN(ret, NULL); ^~~~~~~~~~~~~~~~~ Backport a patch to fix this. Upstream-Status: Backport [http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/90c643593ed7] Signed-off-by: André Draszik --- jdk/src/share/native/java/net/net_util.c | 15 +++++++-------- jdk/src/share/native/java/net/net_util.h | 8 ++++---- jdk/src/solaris/native/java/net/Inet6AddressImpl.c | 4 ++-- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/jdk/src/share/native/java/net/net_util.c b/jdk/src/share/native/java/net/net_util.c index 2194e2e6..00c9e2ac 100644 --- a/jdk/src/share/native/java/net/net_util.c +++ b/jdk/src/share/native/java/net/net_util.c @@ -108,7 +108,7 @@ jobject getInet6Address_scopeifname(JNIEnv *env, jobject iaObj) { return (*env)->GetObjectField(env, holder, ia6_scopeifnameID); } -int setInet6Address_scopeifname(JNIEnv *env, jobject iaObj, jobject scopeifname) { +jboolean setInet6Address_scopeifname(JNIEnv *env, jobject iaObj, jobject scopeifname) { jobject holder = (*env)->GetObjectField(env, iaObj, ia6_holder6ID); CHECK_NULL_RETURN(holder, JNI_FALSE); (*env)->SetObjectField(env, holder, ia6_scopeifnameID, scopeifname); @@ -127,7 +127,7 @@ int getInet6Address_scopeid(JNIEnv *env, jobject iaObj) { return (*env)->GetIntField(env, holder, ia6_scopeidID); } -int setInet6Address_scopeid(JNIEnv *env, jobject iaObj, int scopeid) { +jboolean setInet6Address_scopeid(JNIEnv *env, jobject iaObj, int scopeid) { jobject holder = (*env)->GetObjectField(env, iaObj, ia6_holder6ID); CHECK_NULL_RETURN(holder, JNI_FALSE); (*env)->SetIntField(env, holder, ia6_scopeidID, scopeid); @@ -138,7 +138,7 @@ int setInet6Address_scopeid(JNIEnv *env, jobject iaObj, int scopeid) { } -int getInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *dest) { +jboolean getInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *dest) { jobject holder, addr; jbyteArray barr; @@ -150,7 +150,7 @@ int getInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *dest) { return JNI_TRUE; } -int setInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *address) { +jboolean setInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *address) { jobject holder; jbyteArray addr; @@ -202,7 +202,6 @@ NET_SockaddrToInetAddress(JNIEnv *env, struct sockaddr *him, int *port) { jobject iaObj; #ifdef AF_INET6 if (him->sa_family == AF_INET6) { - jbyteArray ipaddress; #ifdef WIN32 struct SOCKADDR_IN6 *him6 = (struct SOCKADDR_IN6 *)him; #else @@ -218,11 +217,12 @@ NET_SockaddrToInetAddress(JNIEnv *env, struct sockaddr *him, int *port) { setInetAddress_family(env, iaObj, IPv4); } else { jint scope; - int ret; + jboolean ret; iaObj = (*env)->NewObject(env, ia6_class, ia6_ctrID); CHECK_NULL_RETURN(iaObj, NULL); ret = setInet6Address_ipaddress(env, iaObj, (char *)&(him6->sin6_addr)); - CHECK_NULL_RETURN(ret, NULL); + if (ret == JNI_FALSE) + return NULL; setInetAddress_family(env, iaObj, IPv6); scope = getScopeID(him); setInet6Address_scopeid(env, iaObj, scope); @@ -269,7 +269,6 @@ NET_SockaddrEqualsInetAddress(JNIEnv *env, struct sockaddr *him, jobject iaObj) return JNI_FALSE; } } else { - jbyteArray ipaddress; jbyte caddrCur[16]; int scope; diff --git a/jdk/src/share/native/java/net/net_util.h b/jdk/src/share/native/java/net/net_util.h index c8a5e68c..176ca586 100644 --- a/jdk/src/share/native/java/net/net_util.h +++ b/jdk/src/share/native/java/net/net_util.h @@ -64,12 +64,12 @@ JNIEXPORT void JNICALL initInetAddressIDs(JNIEnv *env); * get_ methods that return objects return NULL on error. */ extern jobject getInet6Address_scopeifname(JNIEnv *env, jobject ia6Obj); -extern int setInet6Address_scopeifname(JNIEnv *env, jobject ia6Obj, jobject scopeifname); +extern jboolean setInet6Address_scopeifname(JNIEnv *env, jobject ia6Obj, jobject scopeifname); extern int getInet6Address_scopeid_set(JNIEnv *env, jobject ia6Obj); extern int getInet6Address_scopeid(JNIEnv *env, jobject ia6Obj); -extern int setInet6Address_scopeid(JNIEnv *env, jobject ia6Obj, int scopeid); -extern int getInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *dest); -extern int setInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *address); +extern jboolean setInet6Address_scopeid(JNIEnv *env, jobject ia6Obj, int scopeid); +extern jboolean getInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *dest); +extern jboolean setInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *address); extern void setInetAddress_addr(JNIEnv *env, jobject iaObj, int address); extern void setInetAddress_family(JNIEnv *env, jobject iaObj, int family); diff --git a/jdk/src/solaris/native/java/net/Inet6AddressImpl.c b/jdk/src/solaris/native/java/net/Inet6AddressImpl.c index e29a25da..23ec2985 100644 --- a/jdk/src/solaris/native/java/net/Inet6AddressImpl.c +++ b/jdk/src/solaris/native/java/net/Inet6AddressImpl.c @@ -403,7 +403,7 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this, } while (iterator != NULL) { - int ret1; + jboolean ret1; if (iterator->ai_family == AF_INET) { jobject iaObj = (*env)->NewObject(env, ia4_class, ia4_ctrID); if (IS_NULL(iaObj)) { @@ -423,7 +423,7 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this, goto cleanupAndReturn; } ret1 = setInet6Address_ipaddress(env, iaObj, (char *)&(((struct sockaddr_in6*)iterator->ai_addr)->sin6_addr)); - if (!ret1) { + if (ret1 == JNI_FALSE) { ret = NULL; goto cleanupAndReturn; } -- 2.16.2