[dpdk-stable] patch 'tests/cmdline: fix memory leaks' has been queued to stable release 20.11.3

luca.boccassi at gmail.com luca.boccassi at gmail.com
Mon Jul 12 15:04:30 CEST 2021


Hi,

FYI, your patch has been queued to stable release 20.11.3

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 07/14/21. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/e62869e7769a670d5feef0e41d3630177ab54dd2

Thanks.

Luca Boccassi

---
>From e62869e7769a670d5feef0e41d3630177ab54dd2 Mon Sep 17 00:00:00 2001
From: Owen Hilyard <ohilyard at iol.unh.edu>
Date: Wed, 23 Jun 2021 14:06:45 -0400
Subject: [PATCH] tests/cmdline: fix memory leaks

[ upstream commit ca7204b921c2f328ab1222772af40922970e7c4b ]

Fixes for a few memory leaks in the cmdline_autotest unit test.

All of the leaks were related to not freeing the commandline struct
after testing had completed.

Fixes: dbb860e03eb1 ("cmdline: tests")

Signed-off-by: Owen Hilyard <ohilyard at iol.unh.edu>
Reviewed-by: David Marchand <david.marchand at redhat.com>
Acked-by: Olivier Matz <olivier.matz at 6wind.com>
---
 app/test/test_cmdline_lib.c | 39 +++++++++++++++++++++++++------------
 1 file changed, 27 insertions(+), 12 deletions(-)

diff --git a/app/test/test_cmdline_lib.c b/app/test/test_cmdline_lib.c
index bd72df0da2..d5a09b4541 100644
--- a/app/test/test_cmdline_lib.c
+++ b/app/test/test_cmdline_lib.c
@@ -71,10 +71,12 @@ test_cmdline_parse_fns(void)
 	if (cmdline_complete(cl, "buffer", &i, NULL, sizeof(dst)) >= 0)
 		goto error;
 
+	cmdline_free(cl);
 	return 0;
 
 error:
 	printf("Error: function accepted null parameter!\n");
+	cmdline_free(cl);
 	return -1;
 }
 
@@ -140,22 +142,31 @@ static int
 test_cmdline_socket_fns(void)
 {
 	cmdline_parse_ctx_t ctx;
+	struct cmdline *cl;
 
-	if (cmdline_stdin_new(NULL, "prompt") != NULL)
+	cl = cmdline_stdin_new(NULL, "prompt");
+	if (cl != NULL)
 		goto error;
-	if (cmdline_stdin_new(&ctx, NULL) != NULL)
+	cl = cmdline_stdin_new(&ctx, NULL);
+	if (cl != NULL)
 		goto error;
-	if (cmdline_file_new(NULL, "prompt", "/dev/null") != NULL)
+	cl = cmdline_file_new(NULL, "prompt", "/dev/null");
+	if (cl != NULL)
 		goto error;
-	if (cmdline_file_new(&ctx, NULL, "/dev/null") != NULL)
+	cl = cmdline_file_new(&ctx, NULL, "/dev/null");
+	if (cl != NULL)
 		goto error;
-	if (cmdline_file_new(&ctx, "prompt", NULL) != NULL)
+	cl = cmdline_file_new(&ctx, "prompt", NULL);
+	if (cl != NULL)
 		goto error;
-	if (cmdline_file_new(&ctx, "prompt", "-/invalid/~/path") != NULL) {
+	cl = cmdline_file_new(&ctx, "prompt", "-/invalid/~/path");
+	if (cl != NULL) {
 		printf("Error: succeeded in opening invalid file for reading!");
+		cmdline_free(cl);
 		return -1;
 	}
-	if (cmdline_file_new(&ctx, "prompt", "/dev/null") == NULL) {
+	cl = cmdline_file_new(&ctx, "prompt", "/dev/null");
+	if (cl == NULL) {
 		printf("Error: failed to open /dev/null for reading!");
 		return -1;
 	}
@@ -163,9 +174,11 @@ test_cmdline_socket_fns(void)
 	/* void functions */
 	cmdline_stdin_exit(NULL);
 
+	cmdline_free(cl);
 	return 0;
 error:
 	printf("Error: function accepted null parameter!\n");
+	cmdline_free(cl);
 	return -1;
 }
 
@@ -176,14 +189,15 @@ test_cmdline_fns(void)
 	struct cmdline *cl;
 
 	memset(&ctx, 0, sizeof(ctx));
+	cl = cmdline_new(NULL, "prompt", 0, 0);
+	if (cl != NULL)
+		goto error;
+	cl = cmdline_new(&ctx, NULL, 0, 0);
+	if (cl != NULL)
+		goto error;
 	cl = cmdline_new(&ctx, "test", -1, -1);
 	if (cl == NULL)
 		goto error;
-
-	if (cmdline_new(NULL, "prompt", 0, 0) != NULL)
-		goto error;
-	if (cmdline_new(&ctx, NULL, 0, 0) != NULL)
-		goto error;
 	if (cmdline_in(NULL, "buffer", CMDLINE_TEST_BUFSIZE) >= 0)
 		goto error;
 	if (cmdline_in(cl, NULL, CMDLINE_TEST_BUFSIZE) >= 0)
@@ -198,6 +212,7 @@ test_cmdline_fns(void)
 	cmdline_interact(NULL);
 	cmdline_quit(NULL);
 
+	cmdline_free(cl);
 	return 0;
 
 error:
-- 
2.30.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-07-12 13:41:38.519547996 +0100
+++ 0035-tests-cmdline-fix-memory-leaks.patch	2021-07-12 13:41:36.298118611 +0100
@@ -1 +1 @@
-From ca7204b921c2f328ab1222772af40922970e7c4b Mon Sep 17 00:00:00 2001
+From e62869e7769a670d5feef0e41d3630177ab54dd2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ca7204b921c2f328ab1222772af40922970e7c4b ]
+
@@ -12 +13,0 @@
-Cc: stable at dpdk.org


More information about the stable mailing list