ubus: do not overwrite ipset name attribute
[project/firewall3.git] / redirects.c
index ab95395ca6afda4f02227e4611e687faabb4673c..d3765557fc3f694fcac1143700f49527c30f0de1 100644 (file)
@@ -154,7 +154,7 @@ resolve_dest(struct uci_element *e, struct fw3_redirect *redir,
                        if (!compare_addr(addr, &redir->ip_redir))
                                continue;
 
-                       strncpy(redir->dest.name, zone->name, sizeof(redir->dest.name));
+                       strncpy(redir->dest.name, zone->name, sizeof(redir->dest.name) - 1);
                        redir->dest.set = true;
                        redir->_dest = zone;
 
@@ -254,14 +254,13 @@ check_redirect(struct fw3_state *state, struct fw3_redirect *redir, struct uci_e
        }
        else if (redir->ipset.set && state->disable_ipsets)
        {
-               warn_section("redirect", redir, e, "skipped due to disabled ipset support",
-                               redir->name);
+               warn_section("redirect", redir, e, "skipped due to disabled ipset support");
                return false;
        }
        else if (redir->ipset.set &&
                        !(redir->ipset.ptr = fw3_lookup_ipset(state, redir->ipset.name)))
        {
-               warn_section("redirect", redir, e, "refers to unknown ipset '%s'", redir->name,
+               warn_section("redirect", redir, e, "refers to unknown ipset '%s'",
                                redir->ipset.name);
                return false;
        }