diff options
author | Alexey Fomenko <ext-alexey.fomenko@nokia.com> | 2011-03-02 06:13:21 +0300 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2011-03-02 06:13:21 +0300 |
commit | 1df0af76700c7f75ea43006ad6d450cdeeb6244f (patch) | |
tree | 62db1ada5ae9433213e94fd1ffbd643a4c5ff91f | |
parent | 940c7206c2a4acb386ab47199a6c313c04387f3b (diff) |
don't leak malloced variables in the loop; remove double alloc
Signed-off-by: Alexey Fomenko <ext-alexey.fomenko@nokia.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | networking/ifupdown.c | 7 | ||||
-rw-r--r-- | networking/nameif.c | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/networking/ifupdown.c b/networking/ifupdown.c index 59df4e80f..c7b560bf8 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 d02c2c11b..6cf1c50c2 100644 --- a/networking/nameif.c +++ b/networking/nameif.c @@ -156,7 +156,7 @@ int nameif_main(int argc, char **argv) if (argc) { while (*argv) { - char *ifname = xstrdup(*argv++); + char *ifname = *argv++; prepend_new_eth_table(&clist, ifname, *argv++); } } else { |