diff mbox series

iproute2: prevent memory leak on error return

Message ID 20231114081307.36926-1-heminhong@kylinos.cn (mailing list archive)
State Accepted
Commit 389657c3ec43227a238a832b4494095cc5c91a32
Delegated to: Stephen Hemminger
Headers show
Series iproute2: prevent memory leak on error return | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Minhong He Nov. 14, 2023, 8:13 a.m. UTC
When rtnl_statsdump_req_filter() or rtnl_dump_filter() failed to process,
just return will cause memory leak.

Signed-off-by: heminhong <heminhong@kylinos.cn>
---
 ip/iplink.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Petr Machata Nov. 15, 2023, 10:37 a.m. UTC | #1
heminhong <heminhong@kylinos.cn> writes:

> When rtnl_statsdump_req_filter() or rtnl_dump_filter() failed to process,
> just return will cause memory leak.
>
> Signed-off-by: heminhong <heminhong@kylinos.cn>

Reviewed-by: Petr Machata <petrm@nvidia.com>
patchwork-bot+netdevbpf@kernel.org Nov. 29, 2023, 4:50 a.m. UTC | #2
Hello:

This patch was applied to iproute2/iproute2.git (main)
by Stephen Hemminger <stephen@networkplumber.org>:

On Tue, 14 Nov 2023 16:13:07 +0800 you wrote:
> When rtnl_statsdump_req_filter() or rtnl_dump_filter() failed to process,
> just return will cause memory leak.
> 
> Signed-off-by: heminhong <heminhong@kylinos.cn>
> ---
>  ip/iplink.c | 2 ++
>  1 file changed, 2 insertions(+)

Here is the summary with links:
  - iproute2: prevent memory leak on error return
    https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=389657c3ec43

You are awesome, thank you!
diff mbox series

Patch

diff --git a/ip/iplink.c b/ip/iplink.c
index 9a548dd3..c7e5021c 100644
--- a/ip/iplink.c
+++ b/ip/iplink.c
@@ -1722,11 +1722,13 @@  static int iplink_afstats(int argc, char **argv)
 	if (rtnl_statsdump_req_filter(&rth, AF_UNSPEC, filt_mask,
 				      NULL, NULL) < 0) {
 		perror("Cannont send dump request");
+		delete_json_obj();
 		return 1;
 	}
 
 	if (rtnl_dump_filter(&rth, print_af_stats, &ctx) < 0) {
 		fprintf(stderr, "Dump terminated\n");
+		delete_json_obj();
 		return 1;
 	}