Commit 321a71fd authored by Pavel Emelyanov's avatar Pavel Emelyanov

sk-inet: Fix for inet address checks validation

Bug introduced by 27d62237. Sorry about it :(
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 01ef70a1
......@@ -318,13 +318,13 @@ static int inet_validate_address(InetSkEntry *ie)
{
if ((ie->family == AF_INET) &&
/* v0.1 had 4 in ipv4 addr len */
(pb_repeated_size(ie, src_addr) >= PB_ALEN_INET) &&
(pb_repeated_size(ie, dst_addr) >= PB_ALEN_INET) )
(ie->n_src_addr >= PB_ALEN_INET) &&
(ie->n_dst_addr >= PB_ALEN_INET) )
return 0;
if ((ie->family == AF_INET6) &&
(pb_repeated_size(ie, src_addr) == PB_ALEN_INET6) &&
(pb_repeated_size(ie, dst_addr) == PB_ALEN_INET6) )
(ie->n_src_addr == PB_ALEN_INET6) &&
(ie->n_dst_addr == PB_ALEN_INET6) )
return 0;
pr_err("Addr len mismatch f %d ss %lu ds %lu\n", ie->family,
......@@ -353,7 +353,7 @@ static int open_inet_sk(struct file_desc *d)
return -1;
}
if (!inet_validate_address(ii->ie))
if (inet_validate_address(ii->ie))
return -1;
sk = socket(ii->ie->family, ii->ie->type, ii->ie->proto);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment