From a6b31779f56f2b0b538b8e7591e62c545d5a05d8 Mon Sep 17 00:00:00 2001 From: Pavel Kotucek Date: Fri, 14 Oct 2016 10:20:59 +0200 Subject: [PATCH] VPP-492: Fix ability to change mac address of the interface Fixed Coverity complaining about the clib_memcpy used in /vnet/vnet/interface.c Change-Id: I401f05aea1066d829abac1555021e1180b4a161e Signed-off-by: Pavel Kotucek --- vnet/vnet/interface.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vnet/vnet/interface.c b/vnet/vnet/interface.c index 941ab170b49..37951c71ed4 100644 --- a/vnet/vnet/interface.c +++ b/vnet/vnet/interface.c @@ -1272,8 +1272,11 @@ vnet_hw_interface_change_mac_address_helper (vnet_main_t * vnm, ethernet_interface_t *ei = pool_elt_at_index (em->interfaces, hi->hw_instance); - clib_memcpy (hi->hw_address, (u8 *) & mac_address, - sizeof (hi->hw_address)); + vec_validate (hi->hw_address, + STRUCT_SIZE_OF (ethernet_header_t, src_address) - 1); + clib_memcpy (hi->hw_address, &mac_address, + vec_len (hi->hw_address)); + clib_memcpy (ei->address, (u8 *) & mac_address, sizeof (ei->address)); ethernet_arp_change_mac (vnm, hw_if_index); -- 2.16.6