Return value of function get_device() is not checking before
dereference. Fix this problem by adding checking condition.

Coverity issue: 119262
Fixes: 77d20126b4c2 ("vhost-user: handle message to enable vring")

Signed-off-by: Marcin Kerlin <marcinx.kerlin at intel.com>
---
 lib/librte_vhost/vhost_user/virtio-net-user.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/librte_vhost/vhost_user/virtio-net-user.c 
b/lib/librte_vhost/vhost_user/virtio-net-user.c
index f5248bc..94959f2 100644
--- a/lib/librte_vhost/vhost_user/virtio-net-user.c
+++ b/lib/librte_vhost/vhost_user/virtio-net-user.c
@@ -332,9 +332,13 @@ int
 user_set_vring_enable(struct vhost_device_ctx ctx,
                      struct vhost_vring_state *state)
 {
-       struct virtio_net *dev = get_device(ctx);
+       struct virtio_net *dev;
        int enable = (int)state->num;

+       dev = get_device(ctx);
+       if (dev == NULL)
+               return -1;
+
        RTE_LOG(INFO, VHOST_CONFIG,
                "set queue enable: %d to qp idx: %d\n",
                enable, state->index);
-- 
1.9.1

Reply via email to