X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fsubst.c;h=9ff94c57a4941e8a6d4bd59484016f11deb2f6e9;hb=d4aff50d037f44e76c0ed008ed67255cacee9ab9;hp=334f4fdc2f965ead34c77fe83a215aa0ffebcaaa;hpb=5c005e9b5a138b3ab9dc9b8c9aea8debc5bc339d;p=citadel.git 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; }