diff options
Diffstat (limited to 'src/jdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment.java')
-rw-r--r-- | src/jdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/jdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment.java b/src/jdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment.java index 48f5ce0b..2e118435 100644 --- a/src/jdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment.java +++ b/src/jdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment.java @@ -62,6 +62,9 @@ public final class ScanEnvironment { } public int addMemEntry() { + if (numMem >= Config.MAX_CAPTURE_GROUP_NUM) { + throw new InternalException(ErrorMessages.ERR_TOO_MANY_CAPTURE_GROUPS); + } if (numMem++ == 0) { memNodes = new Node[SCANENV_MEMNODES_SIZE]; } else if (numMem >= memNodes.length) { |