[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH 2/8] qemu: silence coverity warnings



At 2011-7-2 7:36, Eric Blake write:
Coverity warns if the majority of callers check a function for
errors, but a few don't; but in qemu_audit and qemu_domain, the
choice to not check for failures was safe.  In qemu_command, the
failure to generate a uuid can only occur on a bad pointer.

* src/qemu/qemu_audit.c (qemuAuditCgroup): Ignore failure to get
cgroup controller.
* src/qemu/qemu_domain.c (qemuDomainObjEnterMonitor)
(qemuDomainObjEnterMonitorWithDriver): Ignore failure to get
timestamp.
* src/qemu/qemu_command.c (qemuParseCommandLine): Check for error.
---
  src/qemu/qemu_audit.c   |    6 ++++--
  src/qemu/qemu_command.c |    6 +++++-
  src/qemu/qemu_domain.c  |    4 ++--
  3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/qemu/qemu_audit.c b/src/qemu/qemu_audit.c
index 1da0773..1baef40 100644
--- a/src/qemu/qemu_audit.c
+++ b/src/qemu/qemu_audit.c
@@ -31,6 +31,7 @@
  #include "uuid.h"
  #include "logging.h"
  #include "memory.h"
+#include "ignore-value.h"

  /* Return nn:mm in hex for block and character devices, and NULL
   * for other file types, stat failure, or allocation failure.  */
@@ -264,8 +265,9 @@ qemuAuditCgroup(virDomainObjPtr vm, virCgroupPtr cgroup,
          return;
      }

-    virCgroupPathOfController(cgroup, VIR_CGROUP_CONTROLLER_DEVICES,
-                              NULL,&controller);
+    ignore_value(virCgroupPathOfController(cgroup,
+                                           VIR_CGROUP_CONTROLLER_DEVICES,
+                                           NULL,&controller));
      detail = virAuditEncode("cgroup", VIR_AUDIT_STR(controller));

      VIR_AUDIT(VIR_AUDIT_RECORD_RESOURCE, success,
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 90a6653..fc15f87 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -5842,7 +5842,11 @@ virDomainDefPtr qemuParseCommandLine(virCapsPtr caps,
      if (VIR_ALLOC(cmd)<  0)
          goto no_memory;

-    virUUIDGenerate(def->uuid);
+    if (virUUIDGenerate(def->uuid)<  0) {
+        qemuReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+                        _("failed to generate uuid"));
+        goto error;
+    }

      def->id = -1;
      def->mem.cur_balloon = def->mem.max_balloon = 64 * 1024;
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 3af1c86..4b65d87 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -608,7 +608,7 @@ void qemuDomainObjEnterMonitor(virDomainObjPtr obj)

      qemuMonitorLock(priv->mon);
      qemuMonitorRef(priv->mon);
-    virTimeMs(&priv->monStart);
+    ignore_value(virTimeMs(&priv->monStart));
      virDomainObjUnlock(obj);
  }

@@ -651,7 +651,7 @@ void qemuDomainObjEnterMonitorWithDriver(struct qemud_driver *driver,

      qemuMonitorLock(priv->mon);
      qemuMonitorRef(priv->mon);
-    virTimeMs(&priv->monStart);
+    ignore_value(virTimeMs(&priv->monStart));
      virDomainObjUnlock(obj);
      qemuDriverUnlock(driver);
  }

ACK


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]