Răsfoiți Sursa

netfilter: ipset: Fix hash:* type expiration

Incorrect index was used when the data blob was shrinked at expiration,
which could lead to falsely expired entries and memory leak when
the comment extension was used too.

Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Jozsef Kadlecsik 10 ani în urmă
părinte
comite
e9dfdc052d
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      net/netfilter/ipset/ip_set_hash_gen.h

+ 1 - 1
net/netfilter/ipset/ip_set_hash_gen.h

@@ -523,7 +523,7 @@ mtype_expire(struct ip_set *set, struct htype *h, u8 nets_length, size_t dsize)
 					continue;
 				data = ahash_data(n, j, dsize);
 				memcpy(tmp->value + d * dsize, data, dsize);
-				set_bit(j, tmp->used);
+				set_bit(d, tmp->used);
 				d++;
 			}
 			tmp->pos = d;