diff --git a/src/org/rascalmpl/parser/uptr/recovery/CaseInsensitiveLiteralMatcher.java b/src/org/rascalmpl/parser/uptr/recovery/CaseInsensitiveLiteralMatcher.java index 406f06ca14..c72e1fa138 100644 --- a/src/org/rascalmpl/parser/uptr/recovery/CaseInsensitiveLiteralMatcher.java +++ b/src/org/rascalmpl/parser/uptr/recovery/CaseInsensitiveLiteralMatcher.java @@ -49,7 +49,7 @@ public CaseInsensitiveLiteralMatcher(int[][] ciLiteral) { public MatchResult findMatch(int[] input, int startLocation, int maxLength) { int length = chars.length; - int limit = input.length - length + 1; + int limit = Math.min(startLocation + maxLength - length, input.length - length + 1); for (int start=startLocation; start < limit; start++) { boolean matches = true; for (int i=0; i