From: Minhong He Date: Mon, 25 Nov 2024 03:24:54 +0000 (+0800) Subject: devlink: fix memory leak in ifname_map_rtnl_init() X-Git-Tag: v6.13.0~16 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dc283e7b796f3934463b0101f988d4b3b609a6d4;p=thirdparty%2Fiproute2.git 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 Signed-off-by: Stephen Hemminger --- diff --git a/devlink/devlink.c b/devlink/devlink.c index 9907712e..abe96f34 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c @@ -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; }