Skip to content

Commit 7e925b1

Browse files
committed
Fix bad filter logic
1 parent 0962f7f commit 7e925b1

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

src/filters/fb_builder.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -281,11 +281,16 @@ impl NetworkRulesBuilder {
281281
let mut self_ = Self { lists };
282282

283283
let mut badfilter_ids: HashSet<Hash> = HashSet::new();
284-
for filter in network_filters.into_iter() {
285-
if filter.is_badfilter() {
286-
badfilter_ids.insert(filter.get_id_without_badfilter());
287-
}
288284

285+
// Collect badfilter ids in advance.
286+
for filter in network_filters.iter() {
287+
if filter.is_badfilter() {
288+
badfilter_ids.insert(filter.get_id_without_badfilter());
289+
}
290+
}
291+
292+
for filter in network_filters.into_iter() {
293+
// skip any bad filters
289294
let filter_id = filter.get_id();
290295
if badfilter_ids.contains(&filter_id) || filter.is_badfilter() {
291296
continue;

tests/unit/engine.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,9 +219,9 @@ mod tests {
219219
let data = engine.serialize().unwrap();
220220

221221
let expected_hash = if cfg!(feature = "css-validation") {
222-
2449299753308785566
222+
12046041060659687422
223223
} else {
224-
13012908745357887728
224+
11420623023091203502
225225
};
226226

227227
assert_eq!(hash(&data), expected_hash, "{}", HASH_MISMATCH_MSG);

0 commit comments

Comments
 (0)