VPP-492: Fix ability to change mac address of the interface 19/3419/4
authorPavel Kotucek <pkotucek@cisco.com>
Fri, 14 Oct 2016 08:20:59 +0000 (10:20 +0200)
committerDamjan Marion <dmarion.lists@gmail.com>
Mon, 17 Oct 2016 12:17:39 +0000 (12:17 +0000)
Fixed Coverity complaining about the clib_memcpy used in
/vnet/vnet/interface.c

Change-Id: I401f05aea1066d829abac1555021e1180b4a161e
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
vnet/vnet/interface.c

index 941ab17..37951c7 100644 (file)
@@ -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);