diff mbox series

[iproute2] rdma: Avoid memory leak for skipper resource

Message ID 20180220124718.16750-1-leon@kernel.org
State Accepted, archived
Delegated to: stephen hemminger
Headers show
Series [iproute2] rdma: Avoid memory leak for skipper resource | expand

Commit Message

Leon Romanovsky Feb. 20, 2018, 12:47 p.m. UTC
From: Leon Romanovsky <leonro@mellanox.com>

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 <leonro@mellanox.com>
---
 rdma/res.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--
2.16.1

Comments

Stephen Hemminger Feb. 23, 2018, 4:43 p.m. UTC | #1
On Tue, 20 Feb 2018 14:47:18 +0200
Leon Romanovsky <leon@kernel.org> wrote:

> From: Leon Romanovsky <leonro@mellanox.com>
> 
> 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 <leonro@mellanox.com>

Applied
diff mbox series

Patch

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 */