[Qemu-devel] [PATCH] qcow2: remove useless NULL check

Marc-André Lureau posted 1 patch 7 years, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170208080900.4092-1-marcandre.lureau@redhat.com
Test checkpatch passed
Test docker passed
Test s390x passed
block/qcow2.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[Qemu-devel] [PATCH] qcow2: remove useless NULL check
Posted by Marc-André Lureau 7 years, 2 months ago
g_strdup() already handles the case where the argument is NULL.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 block/qcow2.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/block/qcow2.c b/block/qcow2.c
index 96fb8a8f16..9114218030 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -2016,8 +2016,8 @@ static int qcow2_change_backing_file(BlockDriverState *bs,
     g_free(s->image_backing_file);
     g_free(s->image_backing_format);
 
-    s->image_backing_file = backing_file ? g_strdup(bs->backing_file) : NULL;
-    s->image_backing_format = backing_fmt ? g_strdup(bs->backing_format) : NULL;
+    s->image_backing_file = g_strdup(bs->backing_file);
+    s->image_backing_format = g_strdup(bs->backing_format);
 
     return qcow2_update_header(bs);
 }
-- 
2.11.0.295.gd7dffce1c.dirty


Re: [Qemu-devel] [PATCH] qcow2: remove useless NULL check
Posted by Eric Blake 7 years, 2 months ago
On 02/08/2017 02:09 AM, Marc-André Lureau wrote:
> g_strdup() already handles the case where the argument is NULL.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  block/qcow2.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Eric Blake <eblake@redhat.com>

> 
> diff --git a/block/qcow2.c b/block/qcow2.c
> index 96fb8a8f16..9114218030 100644
> --- a/block/qcow2.c
> +++ b/block/qcow2.c
> @@ -2016,8 +2016,8 @@ static int qcow2_change_backing_file(BlockDriverState *bs,
>      g_free(s->image_backing_file);
>      g_free(s->image_backing_format);
>  
> -    s->image_backing_file = backing_file ? g_strdup(bs->backing_file) : NULL;
> -    s->image_backing_format = backing_fmt ? g_strdup(bs->backing_format) : NULL;
> +    s->image_backing_file = g_strdup(bs->backing_file);
> +    s->image_backing_format = g_strdup(bs->backing_format);
>  
>      return qcow2_update_header(bs);
>  }
> 

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Re: [Qemu-devel] [PATCH] qcow2: remove useless NULL check
Posted by Max Reitz 7 years, 2 months ago
On 08.02.2017 09:09, Marc-André Lureau wrote:
> g_strdup() already handles the case where the argument is NULL.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  block/qcow2.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/block/qcow2.c b/block/qcow2.c
> index 96fb8a8f16..9114218030 100644
> --- a/block/qcow2.c
> +++ b/block/qcow2.c
> @@ -2016,8 +2016,8 @@ static int qcow2_change_backing_file(BlockDriverState *bs,
>      g_free(s->image_backing_file);
>      g_free(s->image_backing_format);
>  
> -    s->image_backing_file = backing_file ? g_strdup(bs->backing_file) : NULL;
> -    s->image_backing_format = backing_fmt ? g_strdup(bs->backing_format) : NULL;
> +    s->image_backing_file = g_strdup(bs->backing_file);
> +    s->image_backing_format = g_strdup(bs->backing_format);

bs->backing_file and bs->backing_format are arrays. They will never be NULL.

The ternary operator tests backing_file and backing_fmt which instead
are pointers. So this is not an equivalent conversion.

Max

>  
>      return qcow2_update_header(bs);
>  }
> 


Re: [Qemu-devel] [PATCH] qcow2: remove useless NULL check
Posted by Marc-André Lureau 7 years, 2 months ago
Hi

----- Original Message -----
> On 08.02.2017 09:09, Marc-André Lureau wrote:
> > g_strdup() already handles the case where the argument is NULL.
> > 
> > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> > ---
> >  block/qcow2.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/block/qcow2.c b/block/qcow2.c
> > index 96fb8a8f16..9114218030 100644
> > --- a/block/qcow2.c
> > +++ b/block/qcow2.c
> > @@ -2016,8 +2016,8 @@ static int qcow2_change_backing_file(BlockDriverState
> > *bs,
> >      g_free(s->image_backing_file);
> >      g_free(s->image_backing_format);
> >  
> > -    s->image_backing_file = backing_file ? g_strdup(bs->backing_file) :
> > NULL;
> > -    s->image_backing_format = backing_fmt ? g_strdup(bs->backing_format) :
> > NULL;
> > +    s->image_backing_file = g_strdup(bs->backing_file);
> > +    s->image_backing_format = g_strdup(bs->backing_format);
> 
> bs->backing_file and bs->backing_format are arrays. They will never be NULL.
> 
> The ternary operator tests backing_file and backing_fmt which instead
> are pointers. So this is not an equivalent conversion.

oops my bad, ignore ;P a bit uncommon code though, could deserve a comment.


> 
> Max
> 
> >  
> >      return qcow2_update_header(bs);
> >  }
> > 
> 
> 
>