diff options
Diffstat (limited to 'net/ieee802154/af_ieee802154.c')
| -rw-r--r-- | net/ieee802154/af_ieee802154.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ieee802154/af_ieee802154.c b/net/ieee802154/af_ieee802154.c index bad1c49fd96..c7da600750b 100644 --- a/net/ieee802154/af_ieee802154.c +++ b/net/ieee802154/af_ieee802154.c @@ -28,6 +28,7 @@  #include <linux/if.h>  #include <linux/termios.h>	/* For TIOCOUTQ/INQ */  #include <linux/list.h> +#include <linux/slab.h>  #include <net/datalink.h>  #include <net/psnap.h>  #include <net/sock.h> @@ -126,6 +127,9 @@ static int ieee802154_sock_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);  |