X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fip6_forward.c;h=128204f2c2e2cace295ff372e305b6960b52ccd7;hb=a633a4318bea2f9edcb80d9685b0f811cac679ea;hp=959ff890f73b3fbc06e83857166d07c25dc7443e;hpb=ebef4a9e5dcdf764e856a6d6b61ef22f546abb1d;p=vpp.git diff --git a/src/vnet/ip/ip6_forward.c b/src/vnet/ip/ip6_forward.c index 959ff890f73..128204f2c2e 100644 --- a/src/vnet/ip/ip6_forward.c +++ b/src/vnet/ip/ip6_forward.c @@ -1161,15 +1161,13 @@ ip6_tcp_udp_icmp_bad_length (vlib_main_t * vm, vlib_buffer_t * p0) payload_length_host_byte_order = clib_net_to_host_u16 (ip0->payload_length); n_bytes_left = n_this_buffer = payload_length_host_byte_order; - if (p0) + + u32 n_ip_bytes_this_buffer = + p0->current_length - (((u8 *) ip0 - p0->data) - p0->current_data); + if (n_this_buffer + headers_size > n_ip_bytes_this_buffer) { - u32 n_ip_bytes_this_buffer = - p0->current_length - (((u8 *) ip0 - p0->data) - p0->current_data); - if (n_this_buffer + headers_size > n_ip_bytes_this_buffer) - { - n_this_buffer = p0->current_length > headers_size ? - n_ip_bytes_this_buffer - headers_size : 0; - } + n_this_buffer = p0->current_length > headers_size ? + n_ip_bytes_this_buffer - headers_size : 0; } n_bytes_left -= n_this_buffer;