Check if all mandatory attributes are present in rtnl_tc_msg_build()
TCA_ATTR_IFINDEX | TCA_ATTR_PARENT | TCA_ATTR_KIND
diff --git a/lib/route/tc.c b/lib/route/tc.c
index 56aa410..09ae044 100644
--- a/lib/route/tc.c
+++ b/lib/route/tc.c
@@ -189,7 +189,11 @@
.tcm_handle = tc->tc_handle,
.tcm_parent = tc->tc_parent,
};
- int err = -NLE_MSGSIZE;
+ int req, err = -NLE_MSGSIZE;
+
+ req = (TCA_ATTR_IFINDEX | TCA_ATTR_PARENT | TCA_ATTR_KIND);
+ if ((tc->ce_mask & req) != req)
+ return -NLE_MISSING_ATTR;
msg = nlmsg_alloc_simple(type, flags);
if (!msg)