vhost: fix initialization of temporary header
authorMarvin Liu <yong.liu@intel.com>
Wed, 7 Apr 2021 03:25:15 +0000 (11:25 +0800)
committerChenbo Xia <chenbo.xia@intel.com>
Wed, 7 Apr 2021 06:41:30 +0000 (08:41 +0200)
This patch fixs coverity issue by adding initialization step before
using temporary virtio header.

Coverity issue: 366181
Fixes: fb3815cc614d ("vhost: handle virtually non-contiguous buffers in Rx-mrg")
Cc: stable@dpdk.org
Signed-off-by: Marvin Liu <yong.liu@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
lib/librte_vhost/virtio_net.c

index 7f621fb..48b013a 100644 (file)
@@ -812,9 +812,10 @@ copy_mbuf_to_desc(struct virtio_net *dev, struct vhost_virtqueue *vq,
 
        hdr_mbuf = m;
        hdr_addr = buf_addr;
-       if (unlikely(buf_len < dev->vhost_hlen))
+       if (unlikely(buf_len < dev->vhost_hlen)) {
+               memset(&tmp_hdr, 0, sizeof(struct virtio_net_hdr_mrg_rxbuf));
                hdr = &tmp_hdr;
-       else
+       else
                hdr = (struct virtio_net_hdr_mrg_rxbuf *)(uintptr_t)hdr_addr;
 
        VHOST_LOG_DATA(DEBUG, "(%d) RX: num merge buffers %d\n",