Skip to content

Commit d0733d2

Browse files
msmeissndavem330
authored andcommitted
net/ipv4: Check for mistakenly passed in non-IPv4 address
Check against mistakenly passing in IPv6 addresses (which would result in an INADDR_ANY bind) or similar incompatible sockaddrs. Signed-off-by: Marcus Meissner <meissner@suse.de> Cc: Reinhard Max <max@suse.de> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 948252c commit d0733d2

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

net/ipv4/af_inet.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,9 @@ int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
465465
if (addr_len < sizeof(struct sockaddr_in))
466466
goto out;
467467

468+
if (addr->sin_family != AF_INET)
469+
goto out;
470+
468471
chk_addr_ret = inet_addr_type(sock_net(sk), addr->sin_addr.s_addr);
469472

470473
/* Not specified by any standard per-se, however it breaks too

0 commit comments

Comments
 (0)