Marc-André Lureau <marcandre.lur...@redhat.com> writes:

> This is a regression from commit
> d2623129a7dec1d3041ad1221dda1ca49c667532 ("qom: Drop parameter @errp of
> object_property_add() & friends").
>
> (qemu) chardev-add id=null,backend=null
> (qemu) chardev-add id=null,backend=null
> Unexpected error in object_property_try_add() at 
> /home/elmarco/src/qemu/qom/object.c:1166:
> attempt to add duplicate property 'null' to object (type 'container')
>
> That case is currently not covered in the test suite, but will be with
> the queued patch "char: fix use-after-free with dup chardev &
> reconnect".
>

Please add

  Fixes: d2623129a7dec1d3041ad1221dda1ca49c667532

Bonus: you can then shorten the hash above for readability.

> Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
> ---
>  chardev/char.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/chardev/char.c b/chardev/char.c
> index e3051295ac3..876e41bb592 100644
> --- a/chardev/char.c
> +++ b/chardev/char.c
> @@ -998,7 +998,10 @@ static Chardev *chardev_new(const char *id, const char 
> *typename,
>      }
>  
>      if (id) {
> -        object_property_add_child(get_chardevs_root(), id, obj);
> +        object_property_try_add_child(get_chardevs_root(), id, obj, 
> &local_err);

Suggest to break this line before &local_err.

> +        if (local_err) {
> +            goto end;
> +        }
>          object_unref(obj);
>      }

Sorry for breaking this.

Reviewed-by: Markus Armbruster <arm...@redhat.com>


Reply via email to