xstrdup allocates buffer to iface, liface. Needs to be freed.

Signed-off-by: Alexey Fomenko <ext-alexey.fome...@nokia.com>
---
 networking/ifupdown.c |    7 +++++--
 networking/nameif.c   |    6 ++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/networking/ifupdown.c b/networking/ifupdown.c
index 59df4e8..52fe8d8 100644
--- a/networking/ifupdown.c
+++ b/networking/ifupdown.c
@@ -1220,13 +1220,13 @@ int ifupdown_main(int argc UNUSED_PARAM, char **argv)
                                /* ifup */
                                if (iface_state) {
                                        bb_error_msg("interface %s already 
configured", iface);
-                                       continue;
+                                       goto next;
                                }
                        } else {
                                /* ifdown */
                                if (!iface_state) {
                                        bb_error_msg("interface %s not 
configured", iface);
-                                       continue;
+                                       goto next;
                                }
                        }
                        llist_free(state_list, free);
@@ -1316,6 +1316,9 @@ int ifupdown_main(int argc UNUSED_PARAM, char **argv)
                        fclose(state_fp);
                        llist_free(state_list, free);
                }
+       next:
+               free(iface);
+               free(liface);
        }
 
        return any_failures;
diff --git a/networking/nameif.c b/networking/nameif.c
index d02c2c1..ba73450 100644
--- a/networking/nameif.c
+++ b/networking/nameif.c
@@ -155,10 +155,8 @@ int nameif_main(int argc, char **argv)
                bb_show_usage();
 
        if (argc) {
-               while (*argv) {
-                       char *ifname = xstrdup(*argv++);
-                       prepend_new_eth_table(&clist, ifname, *argv++);
-               }
+               while (*argv)
+                       prepend_new_eth_table(&clist, *argv++, *argv++);
        } else {
                parser = config_open(fname);
                while (config_read(parser, token, 2, 2, "# \t", PARSE_NORMAL))
-- 
1.7.3.4




_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to