From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37922) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XTYeu-0006OT-Qy for qemu-devel@nongnu.org; Mon, 15 Sep 2014 11:57:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XTYep-00008W-8D for qemu-devel@nongnu.org; Mon, 15 Sep 2014 11:57:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:65456) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XTYeo-00008H-Vv for qemu-devel@nongnu.org; Mon, 15 Sep 2014 11:57:39 -0400 Message-ID: <54170C2F.4060803@redhat.com> Date: Mon, 15 Sep 2014 17:56:31 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1410792279-2488-1-git-send-email-arei.gonglei@huawei.com> <1410792279-2488-2-git-send-email-arei.gonglei@huawei.com> In-Reply-To: <1410792279-2488-2-git-send-email-arei.gonglei@huawei.com> Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/3] qom: add error handler for object alias property List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: arei.gonglei@huawei.com, qemu-devel@nongnu.org Cc: agraf@suse.de, weidong.huang@huawei.com, aliguori@amazon.com, mst@redhat.com, peter.huangpeng@huawei.com, lcapitulino@redhat.com, stefanha@redhat.com Il 15/09/2014 16:44, arei.gonglei@huawei.com ha scritto: > From: Gonglei > > object_property_add_alias() is called at some > places at present. And its parameter errp may not NULL, > such as > object_property_add_alias(obj, "iothread", OBJECT(&dev->vdev),"iothread", > &error_abort); > This patch add error handler for security. > > Cc: Stefan Hajnoczi > Cc: Paolo Bonzini > Cc: Michael S. Tsirkin > Signed-off-by: Gonglei > --- > qom/object.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/qom/object.c b/qom/object.c > index da0919a..e7b16a1 100644 > --- a/qom/object.c > +++ b/qom/object.c > @@ -1634,6 +1634,7 @@ void object_property_add_alias(Object *obj, const char *name, > ObjectProperty *op; > ObjectProperty *target_prop; > gchar *prop_type; > + Error *local_err = NULL; > > target_prop = object_property_find(target_obj, target_name, errp); > if (!target_prop) { > @@ -1655,9 +1656,14 @@ void object_property_add_alias(Object *obj, const char *name, > property_get_alias, > property_set_alias, > property_release_alias, > - prop, errp); > + prop, &local_err); > + if (local_err) { > + error_propagate(errp, local_err); > + goto out; > + } > op->resolve = property_resolve_alias; > > +out: > g_free(prop_type); > } > > Reviewed-by: Paolo Bonzini