Browse Source

vfio/pci: Fix potential memory leak in vfio_msi_cap_len

Free allocated vdev->msi_perm in error path.

Signed-off-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Li Qiang 6 years ago
parent
commit
30ea32ab19
1 changed files with 3 additions and 1 deletions
  1. 3 1
      drivers/vfio/pci/vfio_pci_config.c

+ 3 - 1
drivers/vfio/pci/vfio_pci_config.c

@@ -1180,8 +1180,10 @@ static int vfio_msi_cap_len(struct vfio_pci_device *vdev, u8 pos)
 		return -ENOMEM;
 		return -ENOMEM;
 
 
 	ret = init_pci_cap_msi_perm(vdev->msi_perm, len, flags);
 	ret = init_pci_cap_msi_perm(vdev->msi_perm, len, flags);
-	if (ret)
+	if (ret) {
+		kfree(vdev->msi_perm);
 		return ret;
 		return ret;
+	}
 
 
 	return len;
 	return len;
 }
 }