From 6f512f39fb6e8c4078b45ec69239d90311352b91 Mon Sep 17 00:00:00 2001 From: gorhill Date: Tue, 8 Nov 2016 16:31:04 -0500 Subject: [PATCH] code review re #2132 --- src/js/cosmetic-filtering.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/js/cosmetic-filtering.js b/src/js/cosmetic-filtering.js index cc9b7bf4d..bdbc9c638 100644 --- a/src/js/cosmetic-filtering.js +++ b/src/js/cosmetic-filtering.js @@ -1419,11 +1419,14 @@ FilterContainer.prototype._lookupUserScript = function(dict, raw, reng, out) { var content = reng.resourceContentFromName(token, 'application/javascript'); if ( !content ) { return; } if ( args ) { - var i = 1; + var i = 1, arg; while ( args !== '' ) { pos = args.indexOf(','); if ( pos === -1 ) { pos = args.length; } - content = content.replace('{{' + i + '}}', args.slice(0, pos).trim()); + arg = args.slice(0, pos).trim(); + if ( reArgValidator.test(arg) ) { + content = content.replace('{{' + i + '}}', arg); + } args = args.slice(pos + 1).trim(); i++; } @@ -1432,6 +1435,9 @@ FilterContainer.prototype._lookupUserScript = function(dict, raw, reng, out) { out.push(content); }; +// Only accept plain word characters for now. +var reArgValidator = /^\w*$/; + /******************************************************************************/ FilterContainer.prototype.toSelfie = function() {