Signed-off-by: Yousong Zhou <yszhou4t...@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@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to