jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/335967 )
Change subject: Fix crasher from 85b7a988 ...................................................................... Fix crasher from 85b7a988 * The affected page won't render properly -- it was broken before the template handler refactoring and is still broken now. Change-Id: Ia395d11486186d1961f12506ab6517f2f6b05812 --- M lib/wt2html/tt/TemplateHandler.js 1 file changed, 10 insertions(+), 1 deletion(-) Approvals: jenkins-bot: Verified Arlolra: Looks good to me, approved diff --git a/lib/wt2html/tt/TemplateHandler.js b/lib/wt2html/tt/TemplateHandler.js index f3e3e7c..ccb832d 100644 --- a/lib/wt2html/tt/TemplateHandler.js +++ b/lib/wt2html/tt/TemplateHandler.js @@ -392,6 +392,15 @@ // even though the target (=lc) matches a registered parser-function name. if ((magicWordAlias && this.parserFunctions && this.parserFunctions['pf_' + magicWordAlias]) || (pieces.length > 1 && (translatedPrefix[0] === '#' || wiki.functionHooks.has(translatedPrefix)))) { + + // FIXME: In the scenario where the target itself is + // templated / is not a string, protect from crashers by + // using the full token -- this is still going to generate + // incorrect output, but it won't crash. + // Ex: {{<includeonly>safesubst:</includeonly>#invoke:RfD|foo}} + var t0Src = typeof targetToks[0] === 'string' ? + targetToks[0].replace(/^[^:]*:?/, '') : targetToks[0]; + state.parserFunctionName = translatedPrefix; return { isPF: true, @@ -400,7 +409,7 @@ target: 'pf_' + translatedPrefix, pfArg: target.substr(prefix.length + 1), // Extract toks that make up pfArg - pfArgToks: [targetToks[0].replace(/^[^:]*:?/, '')].concat(targetToks.slice(1)), + pfArgToks: [t0Src].concat(targetToks.slice(1)), }; } -- To view, visit https://gerrit.wikimedia.org/r/335967 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ia395d11486186d1961f12506ab6517f2f6b05812 Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/services/parsoid Gerrit-Branch: master Gerrit-Owner: Subramanya Sastry <ssas...@wikimedia.org> Gerrit-Reviewer: Arlolra <abrea...@wikimedia.org> Gerrit-Reviewer: Subramanya Sastry <ssas...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits