From 2943ef51124d8a4c005549daf91d7e3c0b20d29e Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Thu, 11 Sep 2025 09:29:39 -0400 Subject: [PATCH] [mv3] Don't use push() when large collections are possible Otherwise this opens potential stack overflow issues. --- platform/mv3/make-rulesets.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/platform/mv3/make-rulesets.js b/platform/mv3/make-rulesets.js index 6efc76c35..fc82fd122 100644 --- a/platform/mv3/make-rulesets.js +++ b/platform/mv3/make-rulesets.js @@ -467,11 +467,21 @@ function toStrictBlockRule(rule, out) { }; if ( condition.requestDomains ) { strictBlockRule.condition.requestDomains ??= []; - strictBlockRule.condition.requestDomains.push(...condition.requestDomains); + strictBlockRule.condition.requestDomains = Array.from( + new Set([ + ...strictBlockRule.condition.requestDomains, + ...condition.requestDomains, + ]) + ); } if ( condition.excludedRequestDomains ) { strictBlockRule.condition.excludedRequestDomains ??= []; - strictBlockRule.condition.excludedRequestDomains.push(...condition.excludedRequestDomains); + strictBlockRule.condition.excludedRequestDomains = Array.from( + new Set([ + ...strictBlockRule.condition.excludedRequestDomains, + ...condition.excludedRequestDomains, + ]) + ); } out.set(regexFilter, strictBlockRule); }