]> Pileus Git - ~andy/linux/blobdiff - net/ipv4/udp.c
net: add build-time checks for msg->msg_name size
[~andy/linux] / net / ipv4 / udp.c
index 3d3141fd0580410b667d511abb4fec7b883e9c7e..77bd16fa9f34381a79e40f3b9c4b0adb4631f186 100644 (file)
@@ -902,7 +902,7 @@ int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
         *      Get and verify the address.
         */
        if (msg->msg_name) {
-               struct sockaddr_in *usin = (struct sockaddr_in *)msg->msg_name;
+               DECLARE_SOCKADDR(struct sockaddr_in *, usin, msg->msg_name);
                if (msg->msg_namelen < sizeof(*usin))
                        return -EINVAL;
                if (usin->sin_family != AF_INET) {
@@ -1226,7 +1226,7 @@ int udp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
                size_t len, int noblock, int flags, int *addr_len)
 {
        struct inet_sock *inet = inet_sk(sk);
-       struct sockaddr_in *sin = (struct sockaddr_in *)msg->msg_name;
+       DECLARE_SOCKADDR(struct sockaddr_in *, sin, msg->msg_name);
        struct sk_buff *skb;
        unsigned int ulen, copied;
        int peeked, off = 0;