|
@@ -530,6 +530,8 @@ int inet_dgram_connect(struct socket *sock, struct sockaddr * uaddr,
|
|
|
{
|
|
|
struct sock *sk = sock->sk;
|
|
|
|
|
|
+ if (addr_len < sizeof(uaddr->sa_family))
|
|
|
+ return -EINVAL;
|
|
|
if (uaddr->sa_family == AF_UNSPEC)
|
|
|
return sk->sk_prot->disconnect(sk, flags);
|
|
|
|
|
@@ -573,6 +575,9 @@ int inet_stream_connect(struct socket *sock, struct sockaddr *uaddr,
|
|
|
int err;
|
|
|
long timeo;
|
|
|
|
|
|
+ if (addr_len < sizeof(uaddr->sa_family))
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
lock_sock(sk);
|
|
|
|
|
|
if (uaddr->sa_family == AF_UNSPEC) {
|