On 30/04/2013 20:42, Chris Hegarty wrote:
This is a conformance issue where getHardwareAddress may incorrectly return a zero length byte array, rather than null. The spec allows for null, in fact it requires it for such cases. The issue is reproducible with newer versions of Windows, with IPv6 enabled.

The problem is in src/windows/native/java/net/NetworkInterface_winXP.c. PhysicalAddressLength can be 0, in which case the byte array should not be created, rather than creating a 0 length byte[].

From msdn:
  "PhysicalAddressLength

   Type: DWORD

   The length, in bytes, of the address specified in the
   PhysicalAddress member. For interfaces that do not have
   a data-link layer, this value is zero."

Webrev:
  http://cr.openjdk.java.net/~chegar/6594296/webrev.00/webrev/

-Chris.
This looks okay to me.

-Alan

Reply via email to