From patchwork Wed May 30 16:19:07 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [qom-next] qom: make object cast assert if NULL object is passed as argument Date: Wed, 30 May 2012 06:19:07 -0000 From: Igor Mammedov X-Patchwork-Id: 162026 Message-Id: <1338394747-17427-1-git-send-email-imammedo@redhat.com> To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com, aliguori@us.ibm.com, i.mitsyanko@samsung.com, afaerber@suse.de, alexander_barabash@mentor.com without assert it will crash at following point: OBJECT_CHECK(type, obj, name) \ ((type *)object_dynamic_cast_assert(OBJECT(obj), (name))) => object_dynamic_cast(obj, typename) => object_is_type(obj, target_type) => type_is_ancestor(obj->class->type, target_type); ^^^ so abort earlier and print nice message instead of SIGSEGV Signed-off-by: Igor Mammedov Acked-by: Andreas Färber --- qom/object.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/qom/object.c b/qom/object.c index 00bb3b0..444e2fc 100644 --- a/qom/object.c +++ b/qom/object.c @@ -481,6 +481,8 @@ Object *object_dynamic_cast_assert(Object *obj, const char *typename) { Object *inst; + g_assert(obj != NULL); + inst = object_dynamic_cast(obj, typename); if (!inst) {