[libvirt] [PATCH 2/8] qemu: silence coverity warnings
Wen Congyang
wencongyang at gmail.com
Sat Jul 2 13:33:26 UTC 2011
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
More information about the libvir-list
mailing list