This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/groovy.git
commit ac8f1d56f802c52e28b228906a76631cf7c2d39d Author: Weixie Cui <[email protected]> AuthorDate: Fri Mar 27 11:18:06 2026 +0800 minor refactor: fix read(char[], int, int) loop bound in LineColumnReader Use i < startOffset + length instead of i <= startOffset + length so the method reads at most length characters into the destination slice, matching BufferedReader semantics and avoiding an off-by-one past the requested range. --- src/main/java/groovy/io/LineColumnReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/groovy/io/LineColumnReader.java b/src/main/java/groovy/io/LineColumnReader.java index 1d3b113e56..a49462e1a2 100644 --- a/src/main/java/groovy/io/LineColumnReader.java +++ b/src/main/java/groovy/io/LineColumnReader.java @@ -136,7 +136,7 @@ public class LineColumnReader extends BufferedReader { */ @Override public int read(char[] chars, int startOffset, int length) throws IOException { - for (int i = startOffset; i <= startOffset + length; i++) { + for (int i = startOffset; i < startOffset + length; i++) { int readInt = read(); if (readInt == -1) return i - startOffset; chars[i] = (char)readInt;
