Details
-
Bug
-
Status: Resolved (View Workflow)
-
Major
-
Resolution: Fixed
-
None
Description
A string parameter more than a couple of hundred characters in length triggers a StackOverflowError when it gets parsed by ContentBuilder.
Here's a partial stack trace for a BUILD_LOG_MULTILINE_REGEX content token with a long regex="..." parameter (-XX:MaxJavaStackTraceDepth=16384 JVM option required to see the bottom of the stack trace, because the number of stack frames is larger than the default printed depth):
... at java.util.regex.Matcher.search(Matcher.java:1105) at java.util.regex.Matcher.find(Matcher.java:535) at hudson.plugins.emailext.plugins.ContentBuilder$Tokenizer.find(ContentBuilder.java:184) at hudson.plugins.emailext.plugins.ContentBuilder.replaceTokensWithContent(ContentBuilder.java:106) at hudson.plugins.emailext.plugins.ContentBuilder.transformText(ContentBuilder.java:88) at hudson.plugins.emailext.ExtendedEmailPublisher.getContent(ExtendedEmailPublisher.java:536) at hudson.plugins.emailext.ExtendedEmailPublisher.createMail(ExtendedEmailPublisher.java:363) at hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:273) at hudson.plugins.emailext.ExtendedEmailPublisher._perform(ExtendedEmailPublisher.java:265) at hudson.plugins.emailext.ExtendedEmailPublisher.perform(ExtendedEmailPublisher.java:225) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
Code changed in jenkins
User: Alex Earl
Path:
src/main/java/org/jenkinsci/plugins/tokenmacro/Tokenizer.java
src/test/java/org/jenkinsci/plugins/tokenmacro/TokenMacroTest.java
http://jenkins-ci.org/commit/token-macro-plugin/806525fc9cdfce38d42db95194747d91e82d68e0
Log:
Merge pull request #10 from sarowe/master
Address regressions in Email-ext v2.29 due to new dependency on token-macro-plugin: backslash-escaped terminators in content token string arguments no longer work; and very long content string parameters trigger StackOverflowErrors (
JENKINS-14132)Compare: https://github.com/jenkinsci/token-macro-plugin/compare/bdc4345d1bcc...806525fc9cdf