[11] RFR 8194879 : Runtime.Version parses string which does not conform to spec without throwing IAE

Brent Christian brent.christian at oracle.com
Wed Jan 17 19:18:17 UTC 2018


Done[1] - thanks Roger.  I also updated the copyright years.

-Brent

1. http://cr.openjdk.java.net/~bchristi/8194879/webrev.01/

On 1/17/18 7:04 AM, Roger Riggs wrote:
> Hi Brent,
> 
> The bug number should be added to the @bug line in the test.
> 
> Thanks, Roger
> 
> On 1/16/2018 4:21 PM, Brent Christian wrote:
>> Hi,
>>
>> Please review this version string parsing fix for Runtime.Version.
>>
>> Issue:
>> https://bugs.openjdk.java.net/browse/JDK-8194879
>> Webrev:
>> http://cr.openjdk.java.net/~bchristi/8194879/webrev.00/index.html
>>
>> From the bug:
>> -- 
>> "As per the specification of Runtime.Version:
>>
>> A version string, $VSTR, is a version number $VNUM, as described 
>> above, optionally followed by pre-release and build information, in 
>> one of the following formats:
>>
>>        1. $VNUM(-$PRE)?\+$BUILD(-$OPT)?
>>        2. $VNUM-$PRE(-$OPT)?
>>        3. $VNUM(+-$OPT)?
>>
>> So an example of "10--ea" does not confirm to any of the above regex's."
>> -- 
>>
>> For "10--ea", the leading '-' gets picked up, and OPT (which allows 
>> the '-' character) gets set to "-ea".  So the pattern matching of the 
>> elements appears to happen as intended.
>>
>> A case can be added in the parse() code to disallow this (case #2 with 
>> an OPT present, but no PRE).
>>
>> Thanks,
>> -Brent
> 


More information about the core-libs-dev mailing list