From d4aff50d037f44e76c0ed008ed67255cacee9ab9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wilfried=20G=C3=B6esgens?= Date: Sun, 1 Aug 2010 20:50:47 +0000 Subject: [PATCH] * preeval_iterate(): also check the required parameters. --- webcit/subst.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/webcit/subst.c b/webcit/subst.c index 334f4fdc2..9ff94c57a 100644 --- a/webcit/subst.c +++ b/webcit/subst.c @@ -2146,6 +2146,7 @@ int preeval_iterate(WCTemplateToken *Token) WCTemplputParams *TP; void *vTmpl; void *vIt; + HashIterator *It; memset(&TPP, 0, sizeof(WCTemplputParams)); TP = &TPP; @@ -2169,6 +2170,16 @@ int preeval_iterate(WCTemplateToken *Token) "referenced here doesn't exist"); } Token->Preeval2 = vIt; + It = (HashIterator *) vIt; + + if (TP->Tokens->nParameters <= It->AdditionalParams + 2) { + LogTemplateError( + NULL, "Iterator", ERR_PARM1, TP, + "doesn't work with %d params", + TP->Tokens->nParameters - 1); + } + + return 1; } -- 2.30.2