[mv3] Don't use push() when large collections are possible

Otherwise this opens potential stack overflow issues.
This commit is contained in:
Raymond Hill 2025-09-11 09:29:39 -04:00
parent e016a63f7b
commit 2943ef5112
No known key found for this signature in database
GPG key ID: 25E1490B761470C2

View file

@ -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);
}