Hi Chris,

Thank you creating that JIRA.

If the fix involves just updating the javadoc, is this something that youwould like me to contribute as a patch? I have a signed and approved OCA, but I will need a sponsor if I do come up with the patch.


On 13/04/18 8:41 PM, Chris Hegarty wrote:
Hi Jaikiran,

On 13/04/18 15:29, Jaikiran Pai wrote:
The javadoc of InetAddress.getByName(host) and getAllByName(host) states that:

If the host is null then an InetAddress representing an address of the loopback interface is returned.

For non-null values the javadoc explains what the implementation does. However, there seems to be no mention of what it does with an empty string (length == 0) value for the host param. Right now, the implementation seems to treat an empty value the same way it treats the host == null case and returns an InetAddress representing the loopback address.

Consider the following example:

public class InetAddressTest {
     public static void main(final String[] args) throws Exception {
         System.out.println("InetAddress.getByName() for empty string returns " + java.net.InetAddress.getByName(""));          System.out.println("InetAddress.getAllByName() for empty string returns "              + java.util.Arrays.toString(java.net.InetAddress.getAllByName("")));


This outputs:

InetAddress.getByName() for empty string returns localhost/
InetAddress.getAllByName() for empty string returns [localhost/]

Is it intentional for these APIs to behave this way for empty string?


If so, should the javadoc be updated to explicitly state this behaviour?

Yeah, probably.

The following JIRA issue has been filed to track this:


Reply via email to