From 80aae9b3b784ffdea3624117c548d500c56f24d9 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Wed, 19 Sep 2018 15:17:00 +0200 Subject: iptables: Use print_ifaces() from xtables Move the function to xshared.c for common use between legacy and xtables sources. While being at it, silence a covscan warning triggered by that function as it couldn't verify input buffers won't exceed IFNAMSIZ. Therefore use snprintf() when writing to the local buffer. Signed-off-by: Phil Sutter Signed-off-by: Florian Westphal --- iptables/ip6tables.c | 31 ++----------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) (limited to 'iptables/ip6tables.c') diff --git a/iptables/ip6tables.c b/iptables/ip6tables.c index f5f73fe3..f447bc74 100644 --- a/iptables/ip6tables.c +++ b/iptables/ip6tables.c @@ -587,35 +587,8 @@ print_firewall(const struct ip6t_entry *fw, fputc(' ', stdout); } - if (format & FMT_VIA) { - char iface[IFNAMSIZ+2]; - - if (fw->ipv6.invflags & IP6T_INV_VIA_IN) { - iface[0] = '!'; - iface[1] = '\0'; - } - else iface[0] = '\0'; - - if (fw->ipv6.iniface[0] != '\0') { - strcat(iface, fw->ipv6.iniface); - } - else if (format & FMT_NUMERIC) strcat(iface, "*"); - else strcat(iface, "any"); - printf(FMT(" %-6s ","in %s "), iface); - - if (fw->ipv6.invflags & IP6T_INV_VIA_OUT) { - iface[0] = '!'; - iface[1] = '\0'; - } - else iface[0] = '\0'; - - if (fw->ipv6.outiface[0] != '\0') { - strcat(iface, fw->ipv6.outiface); - } - else if (format & FMT_NUMERIC) strcat(iface, "*"); - else strcat(iface, "any"); - printf(FMT("%-6s ","out %s "), iface); - } + print_ifaces(fw->ipv6.iniface, fw->ipv6.outiface, + fw->ipv6.invflags, format); print_ipv6_addresses(fw, format); -- cgit v1.2.3