diff --git a/src/js/document-blocked.js b/src/js/document-blocked.js index 08b2fd732..b0034ef3a 100644 --- a/src/js/document-blocked.js +++ b/src/js/document-blocked.js @@ -144,7 +144,9 @@ uDom.nodeFromId('why').textContent = details.fs; return s; }; - const renderParams = function(parentNode, rawURL) { + // https://github.com/uBlockOrigin/uBlock-issues/issues/1649 + // Limit recursion. + const renderParams = function(parentNode, rawURL, depth = 0) { const a = document.createElement('a'); a.href = rawURL; if ( a.search.length === 0 ) { return false; } @@ -165,9 +167,9 @@ uDom.nodeFromId('why').textContent = details.fs; const name = safeDecodeURIComponent(param.slice(0, pos)); const value = safeDecodeURIComponent(param.slice(pos + 1)); const li = liFromParam(name, value); - if ( reURL.test(value) ) { + if ( depth < 2 && reURL.test(value) ) { const ul = document.createElement('ul'); - renderParams(ul, value); + renderParams(ul, value, depth + 1); li.appendChild(ul); } parentNode.appendChild(li);