diff options
Diffstat (limited to 'net/can/bcm.c')
| -rw-r--r-- | net/can/bcm.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/net/can/bcm.c b/net/can/bcm.c index e32af52238a..907dc871fac 100644 --- a/net/can/bcm.c +++ b/net/can/bcm.c @@ -56,6 +56,7 @@  #include <linux/can.h>  #include <linux/can/core.h>  #include <linux/can/bcm.h> +#include <linux/slab.h>  #include <net/sock.h>  #include <net/net_namespace.h> @@ -1478,6 +1479,9 @@ static int bcm_connect(struct socket *sock, struct sockaddr *uaddr, int len,  	struct sock *sk = sock->sk;  	struct bcm_sock *bo = bcm_sk(sk); +	if (len < sizeof(*addr)) +		return -EINVAL; +  	if (bo->bound)  		return -EISCONN;  |