Hi Alan,
Thanks for your feedback. I've updated the fix with your comments and
you can find them in the new webrev below.
WRT the release note JDK-8237530
<https://bugs.openjdk.java.net/browse/JDK-8237530>, that's a good point.
I will look into removing it.
webrev: http://cr.openjdk.java.net/~pconcannon/8237890/webrevs/webrev.01/
Kind regards,
Patrick
On 10/04/2020 13:28, Alan Bateman wrote:
On 10/04/2020 11:16, Patrick Concannon wrote:
Hi,
Could someone please review my webrev and CSR for JDK-8237890
'DatagramPacket::getSocketAddress doesn't specify what happens if
address or port are not set' ?
DatagramPacket::getSocketAddress is misleading in that it can throw
an IllegalArgumentException even though it doesn't take any
arguments. This can occur if the port of a DatagramPacket is not set
before a call to getSocketAddress is made.
In the recent fixJDK-8236940
<https://bugs.openjdk.java.net/browse/JDK-8236940>, additional checks
were addedto ensure DatagramPacket cannot besent to port 0. Following
on from this update,the current fix changes the default port of a
DatagramPacket from -1 to 0. An IllegalArgumentException will
therefore no longer be thrown when getSocketAddress with no port set.
Instead, an InetSocketAddress representing any local address with
port 0 is returned.
bug: https://bugs.openjdk.java.net/browse/JDK-8237890
csr: https://bugs.openjdk.java.net/browse/JDK-8242483
webrev: http://cr.openjdk.java.net/~pconcannon/8237890/webrevs/webrev.00/
The default value for address and port are null and 0 (resp.) so you
could just remove L93-94.
In the getSocketAddress() spec it might be better to say "Returns"
rather than "Gets" so that its consistent with the getAddress and
getPort methods.
Can you look at DatagramSocketAdaptor L202 where the comment is
"throws IAE if port not set". I assume that comment should be removed.
Do we need to re-visit or withdraw the release note JDK-8237530 as IAE
is there is no longer a "port out of range" condition?
-Alan