Details
Description
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.