hg: bsd-port/bsd-port/jdk: . Try harder to make sure the flags returned from getFlags isn't negative,

glewis at eyesbeyond.com glewis at eyesbeyond.com
Thu Jul 7 23:46:28 PDT 2011


Changeset: c6334146005c
Author:    Greg Lewis <glewis at eyesbeyond.com>
Date:      2011-07-07 23:46 -0700
URL:       http://hg.openjdk.java.net/bsd-port/bsd-port/jdk/rev/c6334146005c

. Try harder to make sure the flags returned from getFlags isn't negative,
  since a number of places in the code check for that and assume that it
  means an error occurred.  On FreeBSD, in particular, the value of
  ifr_flags can be negative if multicast is enabled on the socket since
  the possible flags have expanded to fill more than a short.

  For FreeBSD, we fill the int return value with ifr_flagshigh in the high
  16 bits and ifr_flags in the low 16 bits.  For the other BSD, instead of
  blindly promoting ifr_flags to an int, which will preserve the sign, we
  place it into the lower 16 bits of the return value.

Reported by:	Alex Hayward <xelah-freebsd-pr at xelah.com>

! src/solaris/native/java/net/NetworkInterface.c




More information about the bsd-port-dev mailing list