From: Thomas Graf Date: Thu, 28 Oct 2010 22:45:45 +0000 (+0200) Subject: basic: Only add ematches to message if available X-Git-Tag: libnl3_0~81 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2f867686ac987df8555727b894a4e2ebba26fbd9;p=libnl basic: Only add ematches to message if available --- diff --git a/lib/route/cls/basic.c b/lib/route/cls/basic.c index 835fd08..94f0cf7 100644 --- a/lib/route/cls/basic.c +++ b/lib/route/cls/basic.c @@ -121,7 +121,11 @@ static int basic_get_opts(struct rtnl_cls *cls, struct nl_msg *msg) NLA_PUT_U32(msg, TCA_BASIC_CLASSID, b->b_target); - return rtnl_ematch_fill_attr(msg, TCA_BASIC_EMATCHES, b->b_ematch); + if (b->b_mask & BASIC_ATTR_EMATCH && + rtnl_ematch_fill_attr(msg, TCA_BASIC_EMATCHES, b->b_ematch) < 0) + goto nla_put_failure; + + return 0; nla_put_failure: return -NLE_NOMEM;