On Fri, Nov 13, 2020 at 07:23:57AM +0100, Markus Armbruster wrote:
> The Error ** argument must be NULL, &error_abort, &error_fatal, or a
> pointer to a variable containing NULL.  Passing an argument of the
> latter kind twice without clearing it in between is wrong: if the
> first call sets an error, it no longer points to NULL for the second
> call.
> 
> qauthz_list_file_complete() is wrong that way: it passes @errp to
> qauthz_list_file_complete() without checking for failure.  If it runs
> into another failure, it trips error_setv()'s assertion.  Reproducer:
> 
>     $ qemu-system-x86_64 -nodefaults -S -display none -object 
> authz-list-file,id=authz0,filename=
>     qemu-system-x86_64: ../util/error.c:59: error_setv: Assertion `*errp == 
> NULL' failed.
>     Aborted (core dumped)
> 
> Fix it to check for failure.
> 
> Fixes: 55d869846de802a16af1a50584c51737bd664387
> Signed-off-by: Markus Armbruster <arm...@redhat.com>
> ---
>  authz/listfile.c | 3 +++
>  1 file changed, 3 insertions(+)

Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


Reply via email to