]> git.hungrycats.org Git - linux/commitdiff
[UDP]: Return true length if user specifies MSG_TRUNC.
authorSamuel Thibault <samuel.thibault@ens-lyon.fr>
Wed, 21 Jul 2004 06:51:01 +0000 (23:51 -0700)
committerDavid S. Miller <davem@nuts.davemloft.net>
Wed, 21 Jul 2004 06:51:01 +0000 (23:51 -0700)
net/ipv4/udp.c
net/ipv6/udp.c

index 08a42c9b1bf2ff377aa57956838fb51bc98b95ac..7c4a04f11344b4a8e04a44a735e006a052d09e45 100644 (file)
@@ -828,7 +828,10 @@ try_again:
        }
        if (inet->cmsg_flags)
                ip_cmsg_recv(msg, skb);
+
        err = copied;
+       if (flags & MSG_TRUNC)
+               err = skb->len - sizeof(struct udphdr);
   
 out_free:
        skb_free_datagram(sk, skb);
index 148f52e08e2c94668550c74077b2c21bb165e0ca..209e1b90991bc4bdbae696427da2def9bb79f5ea 100644 (file)
@@ -436,7 +436,10 @@ try_again:
                                sin6->sin6_scope_id = IP6CB(skb)->iif;
                }
        }
+
        err = copied;
+       if (flags & MSG_TRUNC)
+               err = skb->len - sizeof(struct udphdr);
 
 out_free:
        skb_free_datagram(sk, skb);