[libvirt] 2 patches: dead increment and 4 useless (always-false) disjuncts

Daniel Veillard veillard at redhat.com
Mon Sep 7 16:04:41 UTC 2009


On Mon, Sep 07, 2009 at 05:37:24PM +0200, Jim Meyering wrote:
> 
> >From 74f57af2010f9cbe2315d625c6502a0b259e6802 Mon Sep 17 00:00:00 2001
> From: Jim Meyering <meyering at redhat.com>
> Date: Mon, 7 Sep 2009 10:03:22 +0200
> Subject: [PATCH 1/2] xm_internal.c: remove dead increment of "data"
> 
> * src/xm_internal.c (xenXMDomainConfigParse): Don't increment it.
> ---
>  src/xm_internal.c |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
> 
> diff --git a/src/xm_internal.c b/src/xm_internal.c
> index f206c8c..18613d4 100644
> --- a/src/xm_internal.c
> +++ b/src/xm_internal.c
> @@ -1314,7 +1314,6 @@ xenXMDomainConfigParse(virConnectPtr conn, virConfPtr conf) {
> 
>                  if (!(data = strchr(key, '=')) || (data[0] == '\0'))
>                      break;
> -                data++;
> 
>                  if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC) {
>                      if (STRPREFIX(key, "vncunused=")) {

  trivial, ACK

> >From d4db2dfaafbf827d1c8b8626a3dbdaa9f371e479 Mon Sep 17 00:00:00 2001
> From: Jim Meyering <meyering at redhat.com>
> Date: Mon, 7 Sep 2009 10:09:20 +0200
> Subject: [PATCH 2/2] xm_internal.c: remove four useless comparisons after strchr
> 
> * src/xm_internal.c (xenXMDomainConfigParse): After t=strchr...
> don't test *t; it's known.  This was *not* detected by clang,
> but I spotted it since once instance was in the vicinity of the
> dead increment of "data".
> ---
>  src/xm_internal.c |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/src/xm_internal.c b/src/xm_internal.c
> index 18613d4..e7f6a55 100644
> --- a/src/xm_internal.c
> +++ b/src/xm_internal.c
> @@ -862,7 +862,7 @@ xenXMDomainConfigParse(virConnectPtr conn, virConfPtr conf) {
>               */
> 
>              /* Extract the source file path*/
> -            if (!(offset = strchr(head, ',')) || offset[0] == '\0')
> +            if (!(offset = strchr(head, ',')))
>                  goto skipdisk;
>              if ((offset - head) >= (PATH_MAX-1))
>                  goto skipdisk;
> @@ -882,7 +882,7 @@ xenXMDomainConfigParse(virConnectPtr conn, virConfPtr conf) {
>                  head = head + 6;
> 
>              /* Extract the dest device name */
> -            if (!(offset = strchr(head, ',')) || offset[0] == '\0')
> +            if (!(offset = strchr(head, ',')))
>                  goto skipdisk;
>              if (VIR_ALLOC_N(disk->dst, (offset - head) + 1) < 0)
>                  goto no_memory;
> @@ -1018,7 +1018,7 @@ xenXMDomainConfigParse(virConnectPtr conn, virConfPtr conf) {
>                  char *data;
>                  char *nextkey = strchr(key, ',');
> 
> -                if (!(data = strchr(key, '=')) || (data[0] == '\0'))
> +                if (!(data = strchr(key, '=')))
>                      goto skipnic;
>                  data++;
> 
> @@ -1312,7 +1312,7 @@ xenXMDomainConfigParse(virConnectPtr conn, virConfPtr conf) {
>                      nextkey++;
>                  }
> 
> -                if (!(data = strchr(key, '=')) || (data[0] == '\0'))
> +                if (!(data = strchr(key, '=')))
>                      break;
> 
>                  if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC) {

  Hum, I would like to understand the intent of the person who wrote
this first, it's like one s trying to handle a case where strchr( ,c)
could return the pointer to the end of string if c is not found or
something like that. Weird ...

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list