On Wed, 22 Feb 2023 11:08:14 GMT, Jose Pereda <jper...@openjdk.org> wrote:
>> This PR fixes a regression after >> [JDK-8212102](https://bugs.openjdk.org/browse/JDK-8212102). >> >> When a TextField control has some previous content, and new text with only >> invalid characters (0x7F, new line, tabs, <0x20) is set, >> `TextInputControl::filterInput` is used to strip them out, and the new text >> has length 0. >> >> During the refactoring in JDK-8212102, the checks: >> >> int length = txt.length(); >> if (end > start + length) end = length; >> if (start > length-1) start = end = 0; >> >> were removed. >> >> In this particular case, when the new filtered text has length 0, we need >> those checks, so start and end are set to 0, and txt.substring(start, end) >> doesn't throw the IOOBE anymore. >> >> A test is added to verify this scenario. It fails with the proposed patch, >> passes with it. > > Jose Pereda has updated the pull request incrementally with one additional > commit since the last revision: > > add curly braces Marked as reviewed by arapte (Reviewer). The regression bug-id mentioned in PR description is incorrect: [JDK-8212102](https://bugs.openjdk.org/browse/JDK-8212102) is a similar bug. and, [JDK-8176270](https://bugs.openjdk.org/browse/JDK-8176270) is the regression causing bug, which correctly mentioned in JBS. I would recommend to correct the description for correct record. The fix itself looks good. ------------- PR: https://git.openjdk.org/jfx/pull/1043