On Mon, 29 Jun 2026 19:10:26 GMT, Justin Lu <[email protected]> wrote:
>> This PR addresses an edge case where the `Locale.LanguageRange(String, >> double)` constructor accepts `Double.NaN` as a weight. A `LanguageRange` >> weight is specified by >> https://datatracker.ietf.org/doc/html/rfc2616#section-3.9 and must be >> between 0.0 and 1.0, inclusive. The existing bounds checks do not handle >> this case. This change adds an explicit `Double.isNaN(weight)` check. >> >> The issue does not affect parsed range strings in the same way, since the >> input is normalized to lower case before parsing and `"nan"` is not accepted >> by `Double.parseDouble`. However, I added a test for that case as well, >> since one did not previously exist. >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Justin Lu has updated the pull request incrementally with one additional > commit since the last revision: > > Review: new IAE wording. Mention more examples in implNote src/java.base/share/classes/java/util/Locale.java line 3207: > 3205: * @param range a language range > 3206: * @param weight a weight value between {@code MIN_WEIGHT} and > 3207: * {@code MAX_WEIGHT} This could also have the same wording wrt "inclusive" ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/31697#discussion_r3495317918
