X-Git-Url: http://git.archive.openwrt.org/?p=project%2Ffirewall3.git;a=blobdiff_plain;f=zones.c;fp=zones.c;h=6ab3d12176e49c6c7a85dc8f4050280ed2bc538a;hp=53c62461b927b2ae61dca04fe47335ba32870b33;hb=92281eb747b56e748b7c3d754055919c23befdd4;hpb=a9c694d5b6ea026a0c745e5b650993bf0f1c13dc diff --git a/zones.c b/zones.c index 53c6246..6ab3d12 100644 --- a/zones.c +++ b/zones.c @@ -678,7 +678,7 @@ fw3_resolve_zone_addresses(struct fw3_zone *zone) { struct fw3_device *net; struct fw3_address *addr, *tmp; - struct list_head *addrs, *all; + struct list_head *all; all = calloc(1, sizeof(*all)); if (!all) @@ -687,20 +687,7 @@ fw3_resolve_zone_addresses(struct fw3_zone *zone) INIT_LIST_HEAD(all); list_for_each_entry(net, &zone->networks, list) - { - addrs = fw3_ubus_address(net->name); - - if (!addrs) - continue; - - list_for_each_entry_safe(addr, tmp, addrs, list) - { - list_del(&addr->list); - list_add_tail(&addr->list, all); - } - - free(addrs); - } + fw3_ubus_address(all, net->name); list_for_each_entry(addr, &zone->subnets, list) {