JDK-8042360 : Subtag syntax check is incomplete in Locale.LanguageRange
Type:Bug
Component:core-libs
Sub-Component:java.util:i18n
Priority:P3
Status:Resolved
Resolution:Fixed
OS:generic
CPU:generic
Submitted:2014-05-03
Updated:2020-04-01
Resolved:2014-05-07
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
2905 for (int i = 1; i < subtags.length; i++) {
2906 if (isSubtagIllFormed(subtags[i], false)) {
2907 isIllFormed = true;
2908 }
2909 break;
2910 }
Since the loop increment i++; is unreachable, the loop body will never execute more than once.
Comments
The break statement should be put just after "isIllFormed = true;".