vfio: fix uninitialized variable
authorAnatoly Burakov <anatoly.burakov@intel.com>
Fri, 1 Jun 2018 09:08:12 +0000 (10:08 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 13 Jul 2018 09:44:56 +0000 (11:44 +0200)
Some static analyzers complain about it, even though
value is never used if not initialized. To avoid additional
false positives about a potential null-pointer dereferences,
also add a null-check.

Bugzilla ID: 58
Fixes: ea2dc1066870 ("vfio: add multi container support")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
lib/librte_eal/linuxapp/eal/eal_vfio.c

index 14c9332..a4f52f2 100644 (file)
@@ -1745,7 +1745,7 @@ int __rte_experimental
 rte_vfio_container_group_unbind(int container_fd, int iommu_group_num)
 {
        struct vfio_config *vfio_cfg;
-       struct vfio_group *cur_grp;
+       struct vfio_group *cur_grp = NULL;
        int i;
 
        vfio_cfg = get_vfio_cfg_by_container_fd(container_fd);
@@ -1762,7 +1762,7 @@ rte_vfio_container_group_unbind(int container_fd, int iommu_group_num)
        }
 
        /* This should not happen */
-       if (i == VFIO_MAX_GROUPS) {
+       if (i == VFIO_MAX_GROUPS || cur_grp == NULL) {
                RTE_LOG(ERR, EAL, "Specified group number not found\n");
                return -1;
        }