[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.4 1/2] qom: Do not reuse errp after a poss
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH for-2.4 1/2] qom: Do not reuse errp after a possible error |
Date: |
Wed, 1 Jul 2015 17:03:42 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Wed, Jul 01, 2015 at 05:47:03PM +0200, Markus Armbruster wrote:
> The argument for an Error **errp parameter must point to a null
> pointer. If it doesn't, and an error happens, error_set() fails its
> assertion.
>
> Instead of
>
> foo(foos, errp);
> bar(bars, errp);
>
> you need to do something like
>
> Error *err = NULL;
>
> foo(foos, &err);
> if (err) {
> error_propagate(errp, err);
> goto out;
> }
>
> bar(bars, errp);
> out:
>
> Screwed up in commit 0e55884 (v1.3.0): property_get_bool().
>
> Screwed up in commit 1f21772 (v2.1.0): object_property_get_enum() and
> object_property_get_uint16List().
>
> Screwed up in commit a8e3fbe (not yet released): property_get_enum(),
> property_set_enum().
>
> Found by inspection, no actual crashes observed.
>
> Fix them up.
>
> Cc: Andreas Färber <address@hidden>
> Cc: Anthony Liguori <address@hidden>
> Cc: Hu Tao <address@hidden
> Cc: Daniel P. Berrange <address@hidden>
> Signed-off-by: Markus Armbruster <address@hidden>
Looks good to me.
Reviewed-by: Daniel P. Berrange <address@hidden>
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|