From a0eea59519e3f89a5cbc097ec350566103728069 Mon Sep 17 00:00:00 2001 From: Thomas Graf Date: Wed, 16 Dec 2015 15:38:39 +0100 Subject: [PATCH] netlink: BUG() if we don't have parent information This would indicate that we hang a TC object to the tree root. Signed-off-by: Thomas Graf --- src/in_netlink.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/in_netlink.c b/src/in_netlink.c index 43019d3..ef98ae0 100644 --- a/src/in_netlink.c +++ b/src/in_netlink.c @@ -545,11 +545,14 @@ static struct element *handle_tc_obj(struct rtnl_tc *tc, const char *prefix, snprintf(name, sizeof(name), "%s %s (%s)", prefix, buf, rtnl_tc_get_kind(tc)); - if (!(e = element_lookup(grp, name, id, rdata ? rdata->parent : NULL, ELEMENT_CREAT))) + if (!rdata || !rdata->parent) + BUG(); + + if (!(e = element_lookup(grp, name, id, rdata->parent, ELEMENT_CREAT))) return NULL; if (e->e_flags & ELEMENT_FLAG_CREATED) { - e->e_level = rdata ? rdata->level : 0; + e->e_level = rdata->level; if (element_set_key_attr(e, "tc_bytes", "tc_packets") || element_set_usage_attr(e, "tc_bytes"))