From dce0545441cec7242f3eacc8b163c521395f4c3e Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Thu, 1 Dec 2016 11:59:33 +0100 Subject: buffers: fix vlib_buffer_copy memcpy should happen after current_data is set. Change-Id: I838f61b54d15a8bb55d54f770f47fb4d58d071cb Signed-off-by: Damjan Marion --- vlib/vlib/buffer_funcs.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'vlib') diff --git a/vlib/vlib/buffer_funcs.h b/vlib/vlib/buffer_funcs.h index 60e0e28d625..cfe568e32e9 100644 --- a/vlib/vlib/buffer_funcs.h +++ b/vlib/vlib/buffer_funcs.h @@ -426,14 +426,14 @@ vlib_buffer_copy (vlib_main_t * vm, vlib_buffer_t * b) /* 1st segment */ s = b; fd = d = vlib_get_buffer (vm, new_buffers[0]); - clib_memcpy (vlib_buffer_get_current (d), - vlib_buffer_get_current (s), s->current_length); d->current_data = s->current_data; d->current_length = s->current_length; d->flags = s->flags & flag_mask; d->total_length_not_including_first_buffer = s->total_length_not_including_first_buffer; clib_memcpy (d->opaque, s->opaque, sizeof (s->opaque)); + clib_memcpy (vlib_buffer_get_current (d), + vlib_buffer_get_current (s), s->current_length); /* next segments */ for (i = 1; i < n_buffers; i++) -- cgit 1.2.3-korg