Export to GitHub

gwtwiki - issue #82

possible recursive loop in


Posted on Apr 11, 2012 by Swift Lion

What steps will reproduce the problem? 1. create a new page with the following content: {{ordinal|{{#expr:{{#time:z|{{{1|April 14}}}}}+1}}}} 2. try to render that page

What is the expected output? What do you see instead? the time template function gets called 3 times, with a parameter that seems to be the result of some loop (it grows by additional "#expr" expressions): {{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{#expr:{{#time:z|{{{1|April 14}}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}}}+1}}

What version of the product are you using? On what operating system? 3.0.18-SNAPSHOT

Please provide any additional information below.

Comment #1

Posted on Apr 11, 2012 by Swift Lion

parsing the dateTimeParameter with your patch from issues 81 now (expectedly) gives "{{Error - recursion limit exceeded parsing templates.}}" as the parsed parameter in the first of many calls to the Time#parseFunction() function

Comment #2

Posted on Apr 14, 2012 by Happy Dog

Added r4457. please test if it works in your configuration

Comment #3

Posted on Apr 16, 2012 by Swift Lion

thank you, works better now

you could probably also delete the following 2 methods as they are not used any more. Alternatively declare it as final in AbstractTemplateFunction - implementing classes should not mess with them, right? info.bliki.wiki.template.AbstractTemplateFunction.parseFunction(List, IWikiModel, char[], int, int) info.bliki.wiki.template.ITemplateFunction.parseFunction(List, IWikiModel, char[], int, int)

Comment #4

Posted on Apr 16, 2012 by Happy Dog

Done with r4589

Comment #5

Posted on Apr 27, 2012 by Happy Dog

(No comment was entered for this change.)

Status: Fixed

Labels:
Type-Defect Priority-Medium