Message ID | 20241125032454.35392-1-heminhong@kylinos.cn (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | devlink: fix memory leak in ifname_map_rtnl_init() | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
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; }
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> --- devlink/devlink.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)