From 4ac152d003311c43a337b60a5123ba9919d65121 Mon Sep 17 00:00:00 2001 From: Leon Romanovsky Date: Tue, 20 Feb 2018 14:47:18 +0200 Subject: [PATCH] rdma: Avoid memory leak for skipper resource The call to get_task_name() allocates memory which is not freed in case of skipping the object. Fixes: 8ecac46a60ff ("rdma: Add QP resource tracking information") Signed-off-by: Leon Romanovsky Signed-off-by: Stephen Hemminger --- rdma/res.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rdma/res.c b/rdma/res.c index 2a63e712..62f5c544 100644 --- a/rdma/res.c +++ b/rdma/res.c @@ -395,8 +395,10 @@ static int res_qp_parse_cb(const struct nlmsghdr *nlh, void *data) comm = get_task_name(pid); } - if (rd_check_is_filtered(rd, "pid", pid)) + if (rd_check_is_filtered(rd, "pid", pid)) { + free(comm); continue; + } if (nla_line[RDMA_NLDEV_ATTR_RES_KERN_NAME]) /* discard const from mnl_attr_get_str */ -- 2.39.2