[libvirt] [PATCH 7/7] qemu_hostdev: Resolve Coverity issue

John Ferlan jferlan at redhat.com
Thu Jul 11 12:34:07 UTC 2013


Recent changes uncovered a possibility that 'last_processed_hostdev_vf'
was set to -1 in 'qemuPrepareHostdevPCIDevices' and would cause problems
in for loop end condition in the 'resetvfnetconfig' label if the
variable was never set to 'i' due to 'qemuDomainHostdevNetConfigReplace'
failure.
---
 src/qemu/qemu_hostdev.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/qemu/qemu_hostdev.c b/src/qemu/qemu_hostdev.c
index 9bdace1..970d099 100644
--- a/src/qemu/qemu_hostdev.c
+++ b/src/qemu/qemu_hostdev.c
@@ -644,11 +644,13 @@ inactivedevs:
     }
 
 resetvfnetconfig:
-    for (i = 0; i < last_processed_hostdev_vf; i++) {
-         virDomainHostdevDefPtr hostdev = hostdevs[i];
-         if (hostdev->parent.type == VIR_DOMAIN_DEVICE_NET &&
-             hostdev->parent.data.net) {
-             qemuDomainHostdevNetConfigRestore(hostdev, cfg->stateDir);
+    if (last_processed_hostdev_vf >= 0) {
+        for (i = 0; i < last_processed_hostdev_vf; i++) {
+             virDomainHostdevDefPtr hostdev = hostdevs[i];
+             if (hostdev->parent.type == VIR_DOMAIN_DEVICE_NET &&
+                 hostdev->parent.data.net) {
+                 qemuDomainHostdevNetConfigRestore(hostdev, cfg->stateDir);
+             }
          }
     }
 
-- 
1.8.1.4




More information about the libvir-list mailing list