InetAddress.getByName/getAllByName for empty host string

Jaikiran Pai jai.forums2013 at gmail.com
Fri Apr 13 15:29:20 UTC 2018


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.

-Jaikiran


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/127.0.0.1
>> InetAddress.getAllByName() for empty string returns 
>> [localhost/127.0.0.1]
>>
>>
>> Is it intentional for these APIs to behave this way for empty string?
>
> Yes.
>
>> If so, should the javadoc be updated to explicitly state this behaviour?
>
> Yeah, probably.
>
> The following JIRA issue has been filed to track this:
>   https://bugs.openjdk.java.net/browse/JDK-8201545
>
> -Chris.



More information about the core-libs-dev mailing list