aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2011-07-04 10:23:46 +0800
committerDaniel Veillard <veillard@redhat.com>2011-07-04 10:23:46 +0800
commitaaea56dc99079d277315fc845fb344a6141ada85 (patch)
tree58594cef7fef9f13336b6ea7dba4812d4ac4cdc0
parentrpc: avoid memory leak on error (diff)
downloadlibvirt-aaea56dc99079d277315fc845fb344a6141ada85.tar.gz
libvirt-aaea56dc99079d277315fc845fb344a6141ada85.tar.bz2
libvirt-aaea56dc99079d277315fc845fb344a6141ada85.zip
qemu: silence coverity warnings
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.
-rw-r--r--src/qemu/qemu_audit.c6
-rw-r--r--src/qemu/qemu_command.c6
-rw-r--r--src/qemu/qemu_domain.c4
3 files changed, 11 insertions, 5 deletions
diff --git a/src/qemu/qemu_audit.c b/src/qemu/qemu_audit.c
index 1da07738d..1baef402f 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 90a6653d6..fc15f87e4 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 3af1c8693..4b65d87fd 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);
}