diff options
author | Phil Sutter <phil@nwl.cc> | 2018-09-19 15:17:00 +0200 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2018-09-24 11:24:17 +0200 |
commit | 80aae9b3b784ffdea3624117c548d500c56f24d9 (patch) | |
tree | f1f3ae0a9f8ed001f0f49ad8a0bce4f1cec6ff3e /iptables/iptables.c | |
parent | 8da04ffdca1931402a6bc22c43c1a2fa1c6f1e14 (diff) |
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 <phil@nwl.cc>
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'iptables/iptables.c')
-rw-r--r-- | iptables/iptables.c | 30 |
1 files changed, 1 insertions, 29 deletions
diff --git a/iptables/iptables.c b/iptables/iptables.c index 31cb97b2..144550fc 100644 --- a/iptables/iptables.c +++ b/iptables/iptables.c @@ -573,35 +573,7 @@ print_firewall(const struct ipt_entry *fw, fputc(' ', stdout); } - if (format & FMT_VIA) { - char iface[IFNAMSIZ+2]; - - if (fw->ip.invflags & IPT_INV_VIA_IN) { - iface[0] = '!'; - iface[1] = '\0'; - } - else iface[0] = '\0'; - - if (fw->ip.iniface[0] != '\0') { - strcat(iface, fw->ip.iniface); - } - else if (format & FMT_NUMERIC) strcat(iface, "*"); - else strcat(iface, "any"); - printf(FMT(" %-6s ","in %s "), iface); - - if (fw->ip.invflags & IPT_INV_VIA_OUT) { - iface[0] = '!'; - iface[1] = '\0'; - } - else iface[0] = '\0'; - - if (fw->ip.outiface[0] != '\0') { - strcat(iface, fw->ip.outiface); - } - else if (format & FMT_NUMERIC) strcat(iface, "*"); - else strcat(iface, "any"); - printf(FMT("%-6s ","out %s "), iface); - } + print_ifaces(fw->ip.iniface, fw->ip.outiface, fw->ip.invflags, format); print_ipv4_addresses(fw, format); |