From beae13104a355f877a7da292bd6ae67ae4e3e7b6 Mon Sep 17 00:00:00 2001 From: sherman Date: Fri, 26 Apr 2013 13:59:10 -0700 Subject: [PATCH] 8007395: StringIndexOutofBoundsException in Match.find() when input String contains surrogate UTF-16 characters Summary: updated GroupCurly.match0() to backtrack correctly Reviewed-by: mchung --- .../classes/java/util/regex/Pattern.java | 6 ++--- test/java/util/regex/RegExTest.java | 26 ++++++++++++++++++- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/share/classes/java/util/regex/Pattern.java b/src/share/classes/java/util/regex/Pattern.java index 1dafcbc64..529b07c66 100644 --- a/src/share/classes/java/util/regex/Pattern.java +++ b/src/share/classes/java/util/regex/Pattern.java @@ -4334,7 +4334,6 @@ loop: for(int x=0, offset=0; x cmin) { + while (j > min) { if (next.match(matcher, i, seq)) { if (capture) { groups[groupIndex+1] = i; @@ -4544,7 +4545,6 @@ loop: for(int x=0, offset=0; x