Call xfree() instead since stmt_alloc() does not initialize the
statement type fields.
Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=1609
Fixes: ea1f1c9ff608 ("optimize: memleak in statement matrix")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
clone->nat.type_flags = stmt->nat.type_flags;
break;
default:
- stmt_free(clone);
+ xfree(clone);
continue;
}
table ip x {
+ set s {
+ type ipv4_addr
+ size 65535
+ flags dynamic
+ }
+
chain filter_in_tcp {
}
}
chain y {
+ update @s { ip saddr limit rate 12/minute burst 30 packets } accept
tcp dport vmap { 80 : accept, 81 : accept, 443 : accept, 8000-8100 : accept, 24000-25000 : accept }
meta l4proto vmap { tcp : goto filter_in_tcp, udp : goto filter_in_udp }
log
set -e
RULESET="table ip x {
+ set s {
+ type ipv4_addr
+ flags dynamic
+ }
chain filter_in_tcp {
}
chain filter_in_udp {
}
chain y {
+ update @s { ip saddr limit rate 12/minute burst 30 packets } accept
tcp dport vmap {
80 : accept,
81 : accept,