ipv6: fix leaking uninitialized port number of offender sockaddr
authorHannes Frederic Sowa <hannes@stressinduktion.org>
Sat, 23 Nov 2013 06:22:33 +0000 (07:22 +0100)
committerWilly Tarreau <w@1wt.eu>
Mon, 19 May 2014 05:54:02 +0000 (07:54 +0200)
[ Upstream commit 1fa4c710b6fe7b0aac9907240291b6fe6aafc3b8 ]

Offenders don't have port numbers, so set it to 0.

Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
net/ipv6/datagram.c

index ef6436d93d10f07b44f0a8d3f4ff71bed0a16354..5da306b115a184155b7bc15a0095144b7420a4c1 100644 (file)
@@ -342,6 +342,7 @@ int ipv6_recv_error(struct sock *sk, struct msghdr *msg, int len, int *addr_len)
        if (serr->ee.ee_origin != SO_EE_ORIGIN_LOCAL) {
                sin->sin6_family = AF_INET6;
                sin->sin6_flowinfo = 0;
+               sin->sin6_port = 0;
                sin->sin6_scope_id = 0;
                if (serr->ee.ee_origin == SO_EE_ORIGIN_ICMP6) {
                        ipv6_addr_copy(&sin->sin6_addr, &ipv6_hdr(skb)->saddr);