From d109e41344b8f54741c0862a44d544a713178dd3 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Wed, 31 Jan 2024 21:40:19 +0100 Subject: xshared: Introduce xtables_clear_args() Perform struct xtables_args object deinit in a common place, even though it merely consists of freeing any IP addresses and masks. This fixes for a memleak in arptables-translate as the check for h->family didn't catch the value NFPROTO_ARP. Fixes: 5b7324e0675e3 ("nft-arp: add arptables-translate") Signed-off-by: Phil Sutter --- iptables/xshared.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'iptables/xshared.c') diff --git a/iptables/xshared.c b/iptables/xshared.c index 7d073891..0b2724a3 100644 --- a/iptables/xshared.c +++ b/iptables/xshared.c @@ -2185,3 +2185,11 @@ make_delete_mask(const struct xtables_rule_match *matches, return mask; } + +void xtables_clear_args(struct xtables_args *args) +{ + free(args->s.addr.ptr); + free(args->s.mask.ptr); + free(args->d.addr.ptr); + free(args->d.mask.ptr); +} -- cgit v1.2.3