diff options
Diffstat (limited to 'net/ipv4/udp.c')
| -rw-r--r-- | net/ipv4/udp.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 8fef859db35d..c36522a0f113 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -1527,6 +1527,9 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,  	uh   = udp_hdr(skb);  	ulen = ntohs(uh->len); +	saddr = ip_hdr(skb)->saddr; +	daddr = ip_hdr(skb)->daddr; +  	if (ulen > skb->len)  		goto short_packet; @@ -1540,9 +1543,6 @@ 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);  |