Menu

#1713 Exception caused by regex with null character

2.18
closed
RBRi
None
1
2015-08-25
2015-08-25
Carsten
No

We found a javascript regex which causes a PatternSyntaxException with Htmlunit but works in Firefox and Chrome. The attached test contains some more regex calls but only the one shown below fails.

var regex = new RegExp('[\\0-\x08]');
'\0'.match(regex);
java.util.regex.PatternSyntaxException: Illegal octal escape sequence near index 3
[\0-]
   ^
    at java.util.regex.Pattern.error(Pattern.java:1955)
    at java.util.regex.Pattern.o(Pattern.java:3192)
    at java.util.regex.Pattern.escape(Pattern.java:2300)
    at java.util.regex.Pattern.range(Pattern.java:2633)
    at java.util.regex.Pattern.clazz(Pattern.java:2562)
    at java.util.regex.Pattern.sequence(Pattern.java:2063)
    at java.util.regex.Pattern.expr(Pattern.java:1996)
    at java.util.regex.Pattern.compile(Pattern.java:1696)
    at java.util.regex.Pattern.<init>(Pattern.java:1351)
    at java.util.regex.Pattern.compile(Pattern.java:1054)
    at com.gargoylesoftware.htmlunit.javascript.regexp.HtmlUnitRegExpProxy.doAction(HtmlUnitRegExpProxy.java:126)
    at com.gargoylesoftware.htmlunit.javascript.regexp.HtmlUnitRegExpProxy.action(HtmlUnitRegExpProxy.java:75)
    at net.sourceforge.htmlunit.corejs.javascript.NativeString.execIdCall(NativeString.java:514)
    at net.sourceforge.htmlunit.corejs.javascript.IdFunctionObject.call(IdFunctionObject.java:93)
    at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1536)
    at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:798)
    at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:105)
    at com.gargoylesoftware.htmlunit.javascript.host.event.EventHandler.call(EventHandler.java:83)
    at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextFactory.java:411)
    at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:310)
    at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3286)
    at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$4.doRun(JavaScriptEngine.java:794)
    at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:855)
    ... 63 more
1 Attachments

Discussion

  • RBRi

    RBRi - 2015-08-25
    • status: open --> accepted
    • assigned_to: RBRi
     
  • RBRi

    RBRi - 2015-08-25

    will have a look at this this evening

     
  • RBRi

    RBRi - 2015-08-25
    • status: accepted --> closed
     
  • RBRi

    RBRi - 2015-08-25

    Fix is in SVN; many thanks for the precise report and the test case.

     

Log in to post a comment.