Chris Hegarty wrote:
Alan, Michael,

In Java_java_net_Inet(4|6)AddressImpl_getLocalHostName JVM_GetHostName, a.k.a gethostname, is returning ENAMETOOLONG. Then falling back to use "localhost", the assumption was that failure would only happen when something went wrong, maybe networking is not setup.

It appears that on many Linux variations the given buffer length should include space for the null terminator. Our given buffers already account for this, just need to pass down the correct length to gethostname.

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

-Chris.
Are you sure that it is failing with ENAMETOOLONG? I just checked the man page and is reads "In case the null-terminated hostname does not fit, no error is returned, but the hostname is truncated. It is unspecified whether the truncated hostname will be null-terminated", which suggests to me that we should be careful to null terminate on the success path.

-Alan.

Reply via email to