From 4517987d236c0c7fb8ebe7cfc747e272134cd2bd Mon Sep 17 00:00:00 2001 From: Jesper Dangaard Brouer Date: Fri, 6 Feb 2009 01:59:12 -0800 Subject: [PATCH] --- yaml --- r: 131187 b: refs/heads/master c: 2783ef23128ad0a4b34e4121c1f7ff664785712f h: refs/heads/master i: 131185: b29b55fa747880e9094b6324daf69ebd8ce9a125 131183: 5e80d6c9e2d5691f5f45cc0a581ba0a58481646e v: v3 --- [refs] | 2 +- trunk/net/ipv4/udp.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index ac026c33a22d..405850f9d108 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: efc683fc2a692735029067b4f939af2a3625e31d +refs/heads/master: 2783ef23128ad0a4b34e4121c1f7ff664785712f diff --git a/trunk/net/ipv4/udp.c b/trunk/net/ipv4/udp.c index cc3a0a06c004..c47c989cb1fb 100644 --- a/trunk/net/ipv4/udp.c +++ b/trunk/net/ipv4/udp.c @@ -1234,8 +1234,7 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable, struct udphdr *uh; unsigned short ulen; struct rtable *rt = (struct rtable*)skb->dst; - __be32 saddr = ip_hdr(skb)->saddr; - __be32 daddr = ip_hdr(skb)->daddr; + __be32 saddr, daddr; struct net *net = dev_net(skb->dev); /* @@ -1259,6 +1258,9 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable, if (udp4_csum_init(skb, uh, proto)) goto csum_error; + saddr = ip_hdr(skb)->saddr; + daddr = ip_hdr(skb)->daddr; + if (rt->rt_flags & (RTCF_BROADCAST|RTCF_MULTICAST)) return __udp4_lib_mcast_deliver(net, skb, uh, saddr, daddr, udptable);