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