wireguard: fix passing argument 71/35071/2 v22.02-rc2
authorGabriel Oginski <gabrielx.oginski@intel.com>
Mon, 24 Jan 2022 13:31:45 +0000 (13:31 +0000)
committerGabriel Oginski <gabrielx.oginski@intel.com>
Tue, 25 Jan 2022 11:36:28 +0000 (11:36 +0000)
Fixed coverity-issue CID 248456.
Originally passing argument of type "uint64_t *" to function:
"memcopy_s_inline".
This patch fixes the problem by changing type of passing argument and
make a portable assumption.

Type: fix

Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: I17e4583a05ea1263e4d8a4acc9949454e5fd92c0
(cherry picked from commit ffd9057493ba75d157d8fd316f4978b64a6efb30)

src/plugins/wireguard/wireguard_output_tun.c

index f7ae4d1..14df692 100644 (file)
@@ -282,7 +282,7 @@ wg_add_to_async_frame (vlib_main_t *vm, wg_per_thread_data_t *ptd,
   *r_idx = kp->kp_remote_index;
 
   clib_memset (iv, 0, 4);
-  clib_memcpy (iv + 4, nonce, sizeof (nonce));
+  clib_memcpy (iv + 4, nonce, sizeof (*nonce));
 
   /* this always succeeds because we know the frame is not full */
   wg_output_tun_add_to_frame (vm, async_frame, kp->kp_send_index, payload_len,