[ https://issues.apache.org/jira/browse/VELOCITY-297?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Supun Kamburugamuva updated VELOCITY-297: ----------------------------------------- Attachment: MacroMaxCallDepth.patch I have fixed this issue by giving the user the freedom to specify a max calling depth for macros as a property. Supun > Maximum recursion depth for macro calls > --------------------------------------- > > Key: VELOCITY-297 > URL: https://issues.apache.org/jira/browse/VELOCITY-297 > Project: Velocity > Issue Type: Improvement > Components: Engine > Affects Versions: 1.4 > Environment: Operating System: All > Platform: All > Reporter: Jochen Toppe > Priority: Minor > Fix For: 1.6 > > Attachments: MacroMaxCallDepth.patch > > > Similar to the option "directive.parse.maxdepth" I would love to see a > parameter > to limit the depth of macro call recursion. In my scenario I let simple users > write macros to create html pages. Using recursive macros, they could get the > application to misbehave. > The following piece of code illustrates the problem: > #macro ( showInfo $p ) > Info: $p > #showInfo($p) > #end > #showInfo("Test") > Which simply leads to: > java.lang.StackOverflowError > at > org.apache.velocity.runtime.parser.node.ASTStringLiteral.value(ASTStringLiteral.java:136) > at > org.apache.velocity.runtime.directive.VMProxyArg.getObject(VMProxyArg.java:294) > at org.apache.velocity.context.VMContext.get(VMContext.java:181) > .... > Current workaround: Disable inline macros. Have responsible Script-Developers. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]