You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by "Supun Kamburugamuva (JIRA)" <de...@velocity.apache.org> on 2007/06/07 08:59:25 UTC

[jira] Updated: (VELOCITY-297) Maximum recursion depth for macro calls

     [ 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: dev-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org