aboutsummaryrefslogtreecommitdiff
path: root/src/jdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment.java')
-rw-r--r--src/jdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment.java3
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) {