|
@@ -166,7 +166,7 @@ hash_ipportip4_uadt(struct ip_set *set, struct nlattr *tb[],
|
|
const struct ip_set_hash *h = set->data;
|
|
const struct ip_set_hash *h = set->data;
|
|
ipset_adtfn adtfn = set->variant->adt[adt];
|
|
ipset_adtfn adtfn = set->variant->adt[adt];
|
|
struct hash_ipportip4_elem data = { };
|
|
struct hash_ipportip4_elem data = { };
|
|
- u32 ip, ip_to = 0, p = 0, port, port_to;
|
|
|
|
|
|
+ u32 ip, ip_to, p = 0, port, port_to;
|
|
u32 timeout = h->timeout;
|
|
u32 timeout = h->timeout;
|
|
bool with_ports = false;
|
|
bool with_ports = false;
|
|
int ret;
|
|
int ret;
|
|
@@ -218,7 +218,7 @@ hash_ipportip4_uadt(struct ip_set *set, struct nlattr *tb[],
|
|
return ip_set_eexist(ret, flags) ? 0 : ret;
|
|
return ip_set_eexist(ret, flags) ? 0 : ret;
|
|
}
|
|
}
|
|
|
|
|
|
- ip = ntohl(data.ip);
|
|
|
|
|
|
+ ip_to = ip = ntohl(data.ip);
|
|
if (tb[IPSET_ATTR_IP_TO]) {
|
|
if (tb[IPSET_ATTR_IP_TO]) {
|
|
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &ip_to);
|
|
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &ip_to);
|
|
if (ret)
|
|
if (ret)
|
|
@@ -231,8 +231,7 @@ hash_ipportip4_uadt(struct ip_set *set, struct nlattr *tb[],
|
|
if (!cidr || cidr > 32)
|
|
if (!cidr || cidr > 32)
|
|
return -IPSET_ERR_INVALID_CIDR;
|
|
return -IPSET_ERR_INVALID_CIDR;
|
|
ip_set_mask_from_to(ip, ip_to, cidr);
|
|
ip_set_mask_from_to(ip, ip_to, cidr);
|
|
- } else
|
|
|
|
- ip_to = ip;
|
|
|
|
|
|
+ }
|
|
|
|
|
|
port_to = port = ntohs(data.port);
|
|
port_to = port = ntohs(data.port);
|
|
if (with_ports && tb[IPSET_ATTR_PORT_TO]) {
|
|
if (with_ports && tb[IPSET_ATTR_PORT_TO]) {
|