From 2f867686ac987df8555727b894a4e2ebba26fbd9 Mon Sep 17 00:00:00 2001 From: Thomas Graf Date: Fri, 29 Oct 2010 00:45:45 +0200 Subject: [PATCH] basic: Only add ematches to message if available --- lib/route/cls/basic.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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;