]> Pileus Git - ~andy/linux/blobdiff - net/decnet/af_decnet.c
net: add build-time checks for msg->msg_name size
[~andy/linux] / net / decnet / af_decnet.c
index dd4d506ef92395a9124a73391dd69beb92ed0388..2954dcbca8325d81cab149613554d380bc607469 100644 (file)
@@ -1808,6 +1808,7 @@ out:
                rv = (flags & MSG_PEEK) ? -sk->sk_err : sock_error(sk);
 
        if ((rv >= 0) && msg->msg_name) {
+               __sockaddr_check_size(sizeof(struct sockaddr_dn));
                memcpy(msg->msg_name, &scp->peer, sizeof(struct sockaddr_dn));
                msg->msg_namelen = sizeof(struct sockaddr_dn);
        }
@@ -1914,7 +1915,7 @@ static int dn_sendmsg(struct kiocb *iocb, struct socket *sock,
        int err = 0;
        size_t sent = 0;
        int addr_len = msg->msg_namelen;
-       struct sockaddr_dn *addr = (struct sockaddr_dn *)msg->msg_name;
+       DECLARE_SOCKADDR(struct sockaddr_dn *, addr, msg->msg_name);
        struct sk_buff *skb = NULL;
        struct dn_skb_cb *cb;
        size_t len;