[jruby-joni] 69/194: too many capture groups check
Hideki Yamane
henrich at moszumanska.debian.org
Thu Feb 1 12:04:28 UTC 2018
This is an automated email from the git hooks/post-receive script.
henrich pushed a commit to branch debian/sid
in repository jruby-joni.
commit a63d70883cc33872163b46dd84f81a8462ce3ae7
Author: Marcin Mielzynski <lopx at gazeta.pl>
Date: Sat Dec 30 18:30:22 2017 +0100
too many capture groups check
---
src/org/joni/Config.java | 1 +
src/org/joni/ScanEnvironment.java | 1 +
src/org/joni/exception/ErrorMessages.java | 1 +
3 files changed, 3 insertions(+)
diff --git a/src/org/joni/Config.java b/src/org/joni/Config.java
index d570064..97d594e 100644
--- a/src/org/joni/Config.java
+++ b/src/org/joni/Config.java
@@ -47,6 +47,7 @@ public interface Config extends org.jcodings.Config {
final int NREGION = 10;
final int MAX_BACKREF_NUM = 1000;
+ final int MAX_CAPTURE_GROUP_NUM = 32767;
final int MAX_REPEAT_NUM = 100000;
final int MAX_MULTI_BYTE_RANGES_NUM = 10000;
diff --git a/src/org/joni/ScanEnvironment.java b/src/org/joni/ScanEnvironment.java
index 9731881..023495d 100644
--- a/src/org/joni/ScanEnvironment.java
+++ b/src/org/joni/ScanEnvironment.java
@@ -86,6 +86,7 @@ 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[Config.SCANENV_MEMNODES_SIZE];
} else if (numMem >= memNodes.length) {
diff --git a/src/org/joni/exception/ErrorMessages.java b/src/org/joni/exception/ErrorMessages.java
index 008ea0b..8605c5c 100644
--- a/src/org/joni/exception/ErrorMessages.java
+++ b/src/org/joni/exception/ErrorMessages.java
@@ -35,6 +35,7 @@ public interface ErrorMessages extends org.jcodings.exception.ErrorMessages {
final String ERR_UNEXPECTED_BYTECODE = "unexpected bytecode (bug)";
final String ERR_DEFAULT_ENCODING_IS_NOT_SETTED = "default multibyte-encoding is not setted";
final String ERR_SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR = "can't convert to wide-char on specified multibyte-encoding";
+ final String ERR_TOO_MANY_CAPTURE_GROUPS = "too many capture groups are specified";
/* general error */
final String ERR_INVALID_ARGUMENT = "invalid argument";
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jruby-joni.git
More information about the pkg-java-commits
mailing list