]> Pileus Git - ~andy/linux/blobdiff - net/rds/recv.c
net: add build-time checks for msg->msg_name size
[~andy/linux] / net / rds / recv.c
index de339b24ca140f5322a4c6d167450449f3f81bdc..bd82522534fc52f1705c7833d1b443c4ca695398 100644 (file)
@@ -402,7 +402,7 @@ int rds_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg,
        struct rds_sock *rs = rds_sk_to_rs(sk);
        long timeo;
        int ret = 0, nonblock = msg_flags & MSG_DONTWAIT;
-       struct sockaddr_in *sin;
+       DECLARE_SOCKADDR(struct sockaddr_in *, sin, msg->msg_name);
        struct rds_incoming *inc = NULL;
 
        /* udp_recvmsg()->sock_recvtimeo() gets away without locking too.. */
@@ -479,7 +479,6 @@ int rds_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg,
 
                rds_stats_inc(s_recv_delivered);
 
-               sin = (struct sockaddr_in *)msg->msg_name;
                if (sin) {
                        sin->sin_family = AF_INET;
                        sin->sin_port = inc->i_hdr.h_sport;