Uploaded image for project: 'Harmony'
  1. Harmony
  2. HARMONY-1158

[classlib][luni]Compatibility: java.net.URL new URL("ss", null, -3, null) throws MalformedURLException while RI throws NPE

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • None

    Description

      Compatibility. Different order of exceptions.

      RI throws unspecified NPE in java.net.URL("ss", null, -3, null) constructor if host ==null while Harmony at first checks port and throws MalformedURLException.
      If host != null both RI and Harmony throw MalformedURLException.
      =============test.java=============
      import java.net.*;

      public class test {
      public static void main (String[] args) {
      try

      { new URL("ss", "0", -3, null); }

      catch (Exception e)

      { e.printStackTrace(); }
      try { new URL("ss", null, -3, null); } catch (Exception e) { e.printStackTrace(); }

      }
      }

      =======================================

      Output on RI:
      java.net.MalformedURLException: Invalid port number :-3
      at java.net.URL.<init>(URL.java:373)
      at java.net.URL.<init>(URL.java:283)
      at test.main(test.java:7)
      java.lang.NullPointerException
      at java.net.Parts.<init>(URL.java:1259)
      at java.net.URL.<init>(URL.java:380)
      at java.net.URL.<init>(URL.java:283)
      at test.main(test.java:13)

      Output on Harmony:
      java.net.MalformedURLException: Port out of range: -3
      at java.net.URL.<init>(URL.java:393)
      at java.net.URL.<init>(URL.java:367)
      at test.main(test.java:7)
      java.net.MalformedURLException: Port out of range: -3
      at java.net.URL.<init>(URL.java:393)
      at java.net.URL.<init>(URL.java:367)

      Attachments

        Activity

          People

            zakha Alexei Zakharov
            ilya.okomin Ilya Okomin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: