[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