[v2] bpftool: Fix memory leak in do_build_table_cb

Message ID 20221206071906.806384-1-linmq006@gmail.com
State New
Headers
Series [v2] bpftool: Fix memory leak in do_build_table_cb |

Commit Message

Miaoqian Lin Dec. 6, 2022, 7:19 a.m. UTC
  strdup() allocates memory for path. We need to release the memory in
the following error path. Add free() to avoid memory leak.

Fixes: 8f184732b60b ("bpftool: Switch to libbpf's hashmap for pinned paths of BPF objects")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
changes in v2:
- move free(path); into error branch.
---
 tools/bpf/bpftool/common.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

patchwork-bot+netdevbpf@kernel.org Dec. 6, 2022, 8:30 p.m. UTC | #1
Hello:

This patch was applied to bpf/bpf-next.git (master)
by Daniel Borkmann <daniel@iogearbox.net>:

On Tue,  6 Dec 2022 11:19:06 +0400 you wrote:
> strdup() allocates memory for path. We need to release the memory in
> the following error path. Add free() to avoid memory leak.
> 
> Fixes: 8f184732b60b ("bpftool: Switch to libbpf's hashmap for pinned paths of BPF objects")
> Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
> ---
> changes in v2:
> - move free(path); into error branch.
> 
> [...]

Here is the summary with links:
  - [v2] bpftool: Fix memory leak in do_build_table_cb
    https://git.kernel.org/bpf/bpf-next/c/fa55ef14ef4f

You are awesome, thank you!
  

Patch

diff --git a/tools/bpf/bpftool/common.c b/tools/bpf/bpftool/common.c
index 0cdb4f711510..e7a11cff7245 100644
--- a/tools/bpf/bpftool/common.c
+++ b/tools/bpf/bpftool/common.c
@@ -499,6 +499,7 @@  static int do_build_table_cb(const char *fpath, const struct stat *sb,
 	if (err) {
 		p_err("failed to append entry to hashmap for ID %u, path '%s': %s",
 		      pinned_info.id, path, strerror(errno));
+		free(path);
 		goto out_close;
 	}