From: John Lo Date: Wed, 27 Apr 2016 13:56:36 +0000 (-0400) Subject: Fix pcap trace capture crash for packets > 512 bytes X-Git-Tag: v16.06-rc1~100 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=644ec43b5e82cf682698c0efb5d5bb24cbe75849;p=vpp.git Fix pcap trace capture crash for packets > 512 bytes Change-Id: I9397ac756290953a14e3adfe5b7c980ecf92bac2 Signed-off-by: John Lo --- diff --git a/vnet/vnet/unix/pcap.h b/vnet/vnet/unix/pcap.h index e7bb218d506..563eafc102b 100644 --- a/vnet/vnet/unix/pcap.h +++ b/vnet/vnet/unix/pcap.h @@ -169,7 +169,8 @@ pcap_add_buffer (pcap_main_t * pm, d = pcap_add_packet (pm, time_now, n_bytes_in_trace, n_left); while (1) { - clib_memcpy (d, b->data + b->current_data, b->current_length); + u32 copy_length = clib_min ((u32) n_left, b->current_length); + clib_memcpy (d, b->data + b->current_data, copy_length); n_left -= b->current_length; if (n_left <= 0) break;