devlink: fix memory leak in ifname_map_rtnl_init()
When the return value of rtnl_talk() is greater than or equal to 0, 'answer' will be allocated. The 'answer' should be free after using, otherwise it will cause memory leak. Signed-off-by: Minhong He <heminhong@kylinos.cn> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
committed by
Stephen Hemminger
parent
0325d98f98
commit
dc283e7b79
@@ -846,7 +846,7 @@ static int ifname_map_rtnl_init(struct dl *dl, const char *ifname)
|
||||
struct rtattr *tb[IFLA_MAX + 1];
|
||||
struct rtnl_handle rth;
|
||||
struct ifinfomsg *ifi;
|
||||
struct nlmsghdr *n;
|
||||
struct nlmsghdr *n = NULL;
|
||||
int len;
|
||||
int err;
|
||||
|
||||
@@ -887,6 +887,7 @@ static int ifname_map_rtnl_init(struct dl *dl, const char *ifname)
|
||||
err = ifname_map_rtnl_port_parse(dl, ifname, tb[IFLA_DEVLINK_PORT]);
|
||||
|
||||
out:
|
||||
free(n);
|
||||
rtnl_close(&rth);
|
||||
return err;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user