diff --git a/[refs] b/[refs] index 31eff6015b28..afa1a9f4c9af 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d78c68efa84ff312f3663dbf921b1e3485232205 +refs/heads/master: 5e5073280379d38e86ade471daa7443b553fc839 diff --git a/trunk/net/can/bcm.c b/trunk/net/can/bcm.c index 9d5e8accfab1..092dc88a7c64 100644 --- a/trunk/net/can/bcm.c +++ b/trunk/net/can/bcm.c @@ -1256,6 +1256,9 @@ static int bcm_sendmsg(struct kiocb *iocb, struct socket *sock, struct sockaddr_can *addr = (struct sockaddr_can *)msg->msg_name; + if (msg->msg_namelen < sizeof(*addr)) + return -EINVAL; + if (addr->can_family != AF_CAN) return -EINVAL; diff --git a/trunk/net/can/raw.c b/trunk/net/can/raw.c index e88f610fdb7b..883e9d74fddf 100644 --- a/trunk/net/can/raw.c +++ b/trunk/net/can/raw.c @@ -649,6 +649,9 @@ static int raw_sendmsg(struct kiocb *iocb, struct socket *sock, struct sockaddr_can *addr = (struct sockaddr_can *)msg->msg_name; + if (msg->msg_namelen < sizeof(*addr)) + return -EINVAL; + if (addr->can_family != AF_CAN) return -EINVAL;