diff options
Diffstat (limited to 'lib/route/link.c')
-rw-r--r-- | lib/route/link.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/route/link.c b/lib/route/link.c index e395529..752f63a 100644 --- a/lib/route/link.c +++ b/lib/route/link.c @@ -201,6 +201,8 @@ static void link_free_data(struct nl_object *c) if ((io = link->l_info_ops) != NULL) release_link_info(link); + rtnl_link_af_ops_put(link->l_af_ops); + nl_addr_put(link->l_addr); nl_addr_put(link->l_bcast); @@ -313,6 +315,8 @@ static int link_msg_parser(struct nl_cache_ops *ops, struct sockaddr_nl *who, af_ops->ao_protinfo_policy, sizeof(struct nla_policy)); } + + link->l_af_ops = af_ops; } err = nlmsg_parse(n, sizeof(*ifi), tb, IFLA_MAX, link_policy); |