From: Phil Sutter Date: Fri, 10 Jun 2016 11:42:00 +0000 (+0200) Subject: tc: m_xt: Prevent segfault with standard targets X-Git-Tag: v4.7.0~84 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=445745221a21ecb4111c19cfa7f4c2cf4796337f;p=thirdparty%2Fiproute2.git tc: m_xt: Prevent segfault with standard targets Iptables standard targets like DROP or REJECT don't implement the print callback in libxtables. Hence the following command would segfault: | tc filter add dev d0 parent ffff: u32 match u32 0 0 action xt -j DROP With this patch standard targets still can't be used (and are not really useful anyway), but at least it doesn't crash anymore. Signed-off-by: Phil Sutter --- diff --git a/tc/m_xt.c b/tc/m_xt.c index c3f866df1..62ec6d7f1 100644 --- a/tc/m_xt.c +++ b/tc/m_xt.c @@ -250,8 +250,12 @@ static int parse_ipt(struct action_util *a, int *argc_p, fprintf(stdout, "tablename: %s hook: %s\n ", tname, ipthooks[hook]); fprintf(stdout, "\ttarget: "); - if (m) - m->print(NULL, m->t, 0); + if (m) { + if (m->print) + m->print(NULL, m->t, 0); + else + printf("%s ", m->name); + } fprintf(stdout, " index %d\n", index); if (strlen(tname) > 16) {