This is an automated email from the ASF dual-hosted git repository. henrib pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-jexl.git
The following commit(s) were added to refs/heads/master by this push: new f7f3d85 JEXL-305: Triming source may lead to exception being thrown f7f3d85 is described below commit f7f3d85cc7ee071f90553eba13ca37080944ce3a Author: henrib <hen...@apache.org> AuthorDate: Fri Jun 14 18:10:55 2019 +0200 JEXL-305: Triming source may lead to exception being thrown --- src/main/java/org/apache/commons/jexl3/internal/Engine.java | 4 ++-- src/test/java/org/apache/commons/jexl3/ScriptTest.java | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/apache/commons/jexl3/internal/Engine.java b/src/main/java/org/apache/commons/jexl3/internal/Engine.java index d731140..b8c77a8 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/Engine.java +++ b/src/main/java/org/apache/commons/jexl3/internal/Engine.java @@ -738,8 +738,8 @@ public class Engine extends JexlEngine { while (start < end && Character.isSpaceChar(str.charAt(start))) { ++start; } - // trim ending spaces - while (end > 0 && Character.isSpaceChar(str.charAt(end - 1))) { + // trim ending spaces; end is > 0 since start >= 0 + while (end > start && Character.isSpaceChar(str.charAt(end - 1))) { --end; } return str.subSequence(start, end).toString(); diff --git a/src/test/java/org/apache/commons/jexl3/ScriptTest.java b/src/test/java/org/apache/commons/jexl3/ScriptTest.java index 4ee9233..33eb75a 100644 --- a/src/test/java/org/apache/commons/jexl3/ScriptTest.java +++ b/src/test/java/org/apache/commons/jexl3/ScriptTest.java @@ -53,6 +53,16 @@ public class ScriptTest extends JexlTestCase { } /** + * Test creating a script from spaces. + */ + @Test + public void testSpacesScript() throws Exception { + String code = " "; + JexlScript s = JEXL.createScript(code); + Assert.assertTrue(s != null); + } + + /** * Test creating a script from a string. */ @Test