[OpenWrt-Devel] [PATCH v2 02/16] Fix memory leaks found by using valgrind on test cases.

Yousong Zhou yszhou4tech at gmail.com
Tue Dec 16 02:00:04 EST 2014


Signed-off-by: Yousong Zhou <yszhou4tech at gmail.com>
---
 cli.c  |    8 ++++++--
 list.c |    2 +-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/cli.c b/cli.c
index 6fbbfe9..5511114 100644
--- a/cli.c
+++ b/cli.c
@@ -360,6 +360,7 @@ static int uci_do_package_cmd(int cmd, int argc, char **argv)
 {
 	char **configs = NULL;
 	char **p;
+	int ret = 1;
 
 	if (argc > 2)
 		return 255;
@@ -369,14 +370,17 @@ static int uci_do_package_cmd(int cmd, int argc, char **argv)
 
 	if ((uci_list_configs(ctx, &configs) != UCI_OK) || !configs) {
 		cli_perror();
-		return 1;
+		goto out;
 	}
 
 	for (p = configs; *p; p++) {
 		package_cmd(cmd, *p);
 	}
 
-	return 0;
+	ret = 0;
+out:
+	free(configs);
+	return ret;
 }
 
 static int uci_do_add(int argc, char **argv)
diff --git a/list.c b/list.c
index faf4494..0d00f81 100644
--- a/list.c
+++ b/list.c
@@ -346,7 +346,7 @@ uci_lookup_ext_section(struct uci_context *ctx, struct uci_ptr *ptr)
 	goto done;
 
 error:
-	e = NULL;
+	free(section);
 	memset(ptr, 0, sizeof(struct uci_ptr));
 	UCI_THROW(ctx, UCI_ERR_INVAL);
 done:
-- 
1.7.10.4
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list