[Fwd: [PATCH]: Portability fixes]
Christopher Hegarty - Sun Microsystems Ireland
Christopher.Hegarty at Sun.COM
Fri Jan 30 02:36:01 PST 2009
Hi Alan,
Yes, I will assign 6799040 to myself and work with Christos to finalize
the networking changes.
Thanks,
-Chris.
Alan Bateman wrote:
> Christos mailed core-libs-dev yesterday with a few portability
> issues.Anyone have cycles to look at the Inet4AddressImpl.c changes?
> I've created 6799040 to track it. Martin has already pushed a changeset
> to jdk7/tl/jdk for the UNIXProcess_md.c issue.
>
> ------------------------------------------------------------------------
>
> Subject:
> [PATCH]: Portability fixes
> From:
> christos at zoulas.com (Christos Zoulas)
> Date:
> Wed, 28 Jan 2009 14:44:37 -0500
> To:
> core-libs-dev at openjdk.java.net
>
> To:
> core-libs-dev at openjdk.java.net
>
>
> Hello,
>
> Here are some simple changes for your consideration:
>
> 1. passing possibly negative values to isdigit is undefined behavior:
> http://www.opengroup.org/onlinepubs/009695399/functions/isdigit.html
> 2. passing possibly negative values to isspace is undefined behavior:
> http://www.opengroup.org/onlinepubs/009695399/functions/isspace.html
> 3. last is possibly uninitialized.
> 4. recvfrom argument should be socklen_t not int:
> http://www.opengroup.org/onlinepubs/007908775/xns/recvfrom.html
>
> Thanks,
>
> christos
>
> diff -r fc30e7f4b9b3 src/solaris/native/java/lang/UNIXProcess_md.c
> --- a/src/solaris/native/java/lang/UNIXProcess_md.c Fri Jan 16 11:24:18 2009 -0500
> +++ b/src/solaris/native/java/lang/UNIXProcess_md.c Mon Jan 22 16:25:36 2009 -0500
> @@ -377,7 +377,7 @@
> */
> while ((dirp = readdir(dp)) != NULL) {
> int fd;
> - if (isdigit(dirp->d_name[0]) &&
> + if (isdigit((unsigned char)dirp->d_name[0]) &&
> (fd = strtol(dirp->d_name, NULL, 10)) >= from_fd + 2)
> close(fd);
> }
> diff -r fc30e7f4b9b3 src/solaris/native/java/net/Inet4AddressImpl.c
> --- a/src/solaris/native/java/net/Inet4AddressImpl.c Fri Jan 16 11:24:18 2009 -0500
> +++ b/src/solaris/native/java/net/Inet4AddressImpl.c Mon Jan 22 16:25:36 2009 -0500
> @@ -155,7 +155,7 @@
> * Workaround for Solaris bug 4160367 - if a hostname contains a
> * white space then 0.0.0.0 is returned
> */
> - if (isspace(hostname[0])) {
> + if (isspace((unsigned char)hostname[0])) {
> JNU_ThrowByName(env, JNU_JAVANETPKG "UnknownHostException",
> (char *)hostname);
> JNU_ReleaseStringPlatformChars(env, host, hostname);
> @@ -172,7 +172,7 @@
> return NULL;
> } else {
> int i = 0;
> - struct addrinfo *itr, *last, *iterator = res;
> + struct addrinfo *itr, *last = NULL, *iterator = res;
> while (iterator != NULL) {
> int skip = 0;
> itr = resNew;
> @@ -603,7 +603,8 @@
> ping4(JNIEnv *env, jint fd, struct sockaddr_in* him, jint timeout,
> struct sockaddr_in* netif, jint ttl) {
> jint size;
> - jint n, len, hlen1, icmplen;
> + jint n, hlen1, icmplen;
> + socklen_t len;
> char sendbuf[1500];
> char recvbuf[1500];
> struct icmp *icmp;
>
More information about the net-dev
mailing list