diff --git a/tc/m_ematch.c b/tc/m_ematch.c index 7f79a065..4c3acf82 100644 --- a/tc/m_ematch.c +++ b/tc/m_ematch.c @@ -449,12 +449,14 @@ static int print_ematch_list(FILE *fd, struct tcf_ematch_tree_hdr *hdr, if (tb == NULL) return -1; - if (parse_rtattr_nested(tb, hdr->nmatches, rta) < 0) - goto errout; + if (hdr->nmatches > 0) { + if (parse_rtattr_nested(tb, hdr->nmatches, rta) < 0) + goto errout; - fprintf(fd, "\n "); - if (print_ematch_seq(fd, tb, 1, 1) < 0) - goto errout; + fprintf(fd, "\n "); + if (print_ematch_seq(fd, tb, 1, 1) < 0) + goto errout; + } err = 0; errout: