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

[classlib][luni]DatagramSock do NOT throw Exception

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 5.0M13
    • Classlib
    • None

    Description

      Run following simple test case, got different results from RI:

      public static void main(String[] args) throws SocketException, IOException {
      InetSocketAddress sa = InetSocketAddress.createUnresolved("localhost",0);
      new DatagramSocket().send(new DatagramPacket(new byte[272], 3, sa));
      }

      RI 5:
      Exception in thread "main" java.lang.NullPointerException: null address || null buffer
      at java.net.PlainDatagramSocketImpl.send(Native Method)
      at java.net.DatagramSocket.send(DatagramSocket.java:612)
      at DST2.main(DST2.java:10)
      Harmony 5: No Exception

      RI 6:
      Exception in thread "main" java.lang.IllegalArgumentException: unresolved address
      at java.net.DatagramPacket.setSocketAddress(DatagramPacket.java:295)
      at java.net.DatagramPacket.<init>(DatagramPacket.java:123)
      at java.net.DatagramPacket.<init>(DatagramPacket.java:158)
      at DST2.main(DST2.java:10)
      Harmony 6: No Exception

      According to the spec, InetSocketAddress.createUnresolved() says "A port number of zero will let the system pick up an ephemeral port in a bind operation."
      But DatagramPacket just says "throws IllegalArgumentException - if address type is not supported"

      Harmony's behavior should be as same as RI's

      Attachments

        Activity

          People

            Unassigned Unassigned
            chleicdl Ray Chen
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: