]> Pileus Git - ~andy/linux/blobdiff - net/ipv4/raw.c
net: add build-time checks for msg->msg_name size
[~andy/linux] / net / ipv4 / raw.c
index 81e6cfd5a365826a75dc5f22813fe2268b431213..c04518f4850a4c0a3d1de182d75cb2a963c7f583 100644 (file)
@@ -493,7 +493,7 @@ static int raw_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
         */
 
        if (msg->msg_namelen) {
-               struct sockaddr_in *usin = (struct sockaddr_in *)msg->msg_name;
+               DECLARE_SOCKADDR(struct sockaddr_in *, usin, msg->msg_name);
                err = -EINVAL;
                if (msg->msg_namelen < sizeof(*usin))
                        goto out;
@@ -690,7 +690,7 @@ static int raw_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
        struct inet_sock *inet = inet_sk(sk);
        size_t copied = 0;
        int err = -EOPNOTSUPP;
-       struct sockaddr_in *sin = (struct sockaddr_in *)msg->msg_name;
+       DECLARE_SOCKADDR(struct sockaddr_in *, sin, msg->msg_name);
        struct sk_buff *skb;
 
        if (flags & MSG_OOB)