diff options
Diffstat (limited to 'tools/testing/selftests/net/lib/csum.c')
| -rw-r--r-- | tools/testing/selftests/net/lib/csum.c | 12 | 
1 files changed, 5 insertions, 7 deletions
diff --git a/tools/testing/selftests/net/lib/csum.c b/tools/testing/selftests/net/lib/csum.c index e0a34e5e8dd5..27437590eeb5 100644 --- a/tools/testing/selftests/net/lib/csum.c +++ b/tools/testing/selftests/net/lib/csum.c @@ -675,22 +675,20 @@ static int recv_verify_packet_ipv6(void *nh, int len)  {  	struct ipv6hdr *ip6h = nh;  	uint16_t proto = cfg_encap ? IPPROTO_UDP : cfg_proto; -	uint16_t ip_len; +	uint16_t payload_len;  	if (len < sizeof(*ip6h) || ip6h->nexthdr != proto)  		return -1; -	ip_len = ntohs(ip6h->payload_len); -	if (ip_len > len - sizeof(*ip6h)) +	payload_len = ntohs(ip6h->payload_len); +	if (payload_len > len - sizeof(*ip6h))  		return -1; -	len = ip_len;  	iph_addr_p = &ip6h->saddr; -  	if (proto == IPPROTO_TCP) -		return recv_verify_packet_tcp(ip6h + 1, len); +		return recv_verify_packet_tcp(ip6h + 1, payload_len);  	else -		return recv_verify_packet_udp(ip6h + 1, len); +		return recv_verify_packet_udp(ip6h + 1, payload_len);  }  /* return whether auxdata includes TP_STATUS_CSUM_VALID */  | 
