diff options
author | Eric Blake <eblake@redhat.com> | 2011-07-04 10:23:46 +0800 |
---|---|---|
committer | Daniel Veillard <veillard@redhat.com> | 2011-07-04 10:23:46 +0800 |
commit | aaea56dc99079d277315fc845fb344a6141ada85 (patch) | |
tree | 58594cef7fef9f13336b6ea7dba4812d4ac4cdc0 | |
parent | rpc: avoid memory leak on error (diff) | |
download | libvirt-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.c | 6 | ||||
-rw-r--r-- | src/qemu/qemu_command.c | 6 | ||||
-rw-r--r-- | 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 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); } |