From 63fbf39b3137ef76c62cdb0d7d59f5184ed928df Mon Sep 17 00:00:00 2001 From: Imen Bhiri Date: Wed, 30 Sep 2015 11:19:13 +0100 Subject: [PATCH] bug fix --- dm/dmtree/wandevice.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/dm/dmtree/wandevice.c b/dm/dmtree/wandevice.c index d87a168..c3e0da9 100644 --- a/dm/dmtree/wandevice.c +++ b/dm/dmtree/wandevice.c @@ -1363,20 +1363,22 @@ int set_wan_ip_link_connection_nat_enabled(char *refparam, struct dmctx *ctx, in int get_wan_igmp_rule_idx(char *iface, struct uci_section **rule, struct uci_section **zone, char **enable) { - char *input, *proto, *target; + char *input, *proto, *target, *zname; struct uci_section *s = NULL; struct uci_section *ss = NULL; - *enable = "0"; + *enable = "1"; + *rule = NULL; uci_foreach_option_cont("firewall", "zone", "network", iface, *zone) { dmuci_get_value_by_section_string(*zone, "input", &input); if (strcmp(input, "DROP") == 0) *enable = "0"; - uci_foreach_option_cont("firewall", "rule", "src", section_name(*zone), *rule) { + dmuci_get_value_by_section_string(*zone, "name", &zname); + uci_foreach_option_cont("firewall", "rule", "src", zname, *rule) { dmuci_get_value_by_section_string(*rule, "proto", &proto); if (strcmp(proto, "igmp")) { dmuci_get_value_by_section_string(*rule, "enabled", enable); - if (*enable != '\0') { + if ((*enable)[0] != '\0') { if ((*enable)[0] == '0') break; }