From: Gonglei Date: Sat, 27 Sep 2014 05:13:56 +0000 (+0800) Subject: qom: Add error handler for object alias property X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.2~209^2~526^2~42 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8ae9a9ef4e610a58d0748f5aa7dd144b08e09039;p=sdk%2Femulator%2Fqemu.git qom: Add error handler for object alias property 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: Michael S. Tsirkin Cc: Markus Armbruster Reviewed-by: Paolo Bonzini Signed-off-by: Gonglei Signed-off-by: Andreas Färber --- diff --git a/qom/object.c b/qom/object.c index 21135e1a08..575291f109 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1642,6 +1642,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) { @@ -1663,9 +1664,15 @@ 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); + g_free(prop); + goto out; + } op->resolve = property_resolve_alias; +out: g_free(prop_type); }