[dpdk-dev] vhost: fix coverity defect

Message ID 1459836043-18863-1-git-send-email-yuanhan.liu@linux.intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Yuanhan Liu April 5, 2016, 6 a.m. UTC
  Fix following coverity defect:

    291     void
    292     vhost_destroy_device(struct vhost_device_ctx ctx)
    293     {
    294             struct virtio_net *dev = get_device(ctx);
    295
    >>>     CID 124565:  Null pointer dereferences  (NULL_RETURNS)
    >>>     Dereferencing a null pointer "dev".

Fixes: 45ca9c6f7bc6 ("vhost: get rid of linked list for devices")

Reported-by: John McNamara <john.mcnamara@intel.com>
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
 lib/librte_vhost/virtio-net.c | 3 +++
 1 file changed, 3 insertions(+)
  

Comments

Thomas Monjalon April 6, 2016, 10:18 a.m. UTC | #1
> Fix following coverity defect:
> 
>     291     void
>     292     vhost_destroy_device(struct vhost_device_ctx ctx)
>     293     {
>     294             struct virtio_net *dev = get_device(ctx);
>     295
>     >>>     CID 124565:  Null pointer dereferences  (NULL_RETURNS)
>     >>>     Dereferencing a null pointer "dev".
> 
> Fixes: 45ca9c6f7bc6 ("vhost: get rid of linked list for devices")
> 
> Reported-by: John McNamara <john.mcnamara@intel.com>
> Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>

Applied, thanks
  

Patch

diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c
index 90da9ba..d870ad9 100644
--- a/lib/librte_vhost/virtio-net.c
+++ b/lib/librte_vhost/virtio-net.c
@@ -293,6 +293,9 @@  vhost_destroy_device(struct vhost_device_ctx ctx)
 {
 	struct virtio_net *dev = get_device(ctx);
 
+	if (dev == NULL)
+		return;
+
 	if (dev->flags & VIRTIO_DEV_RUNNING)
 		notify_ops->destroy_device(dev);