From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46170) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XV8Hd-0005Om-4P for qemu-devel@nongnu.org; Fri, 19 Sep 2014 20:12:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XV8HX-0003pp-0X for qemu-devel@nongnu.org; Fri, 19 Sep 2014 20:12:13 -0400 From: Amos Kong Date: Sat, 20 Sep 2014 08:11:41 +0800 Message-Id: <1411171901-13792-1-git-send-email-akong@redhat.com> Subject: [Qemu-devel] [PATCH] qom: suppress conscan warning of returning null point List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-trivial@nongnu.org Cc: jen@redhat.com, afaerber@suse.de, aliguori@amazon.com, qemu-devel@nongnu.org Conscan complains about g_malloc0() and malloc() return null. Error: NULL_RETURNS (CWE-476): qemu-kvm/qom/object.c:239: returned_null: Function "g_malloc0(gsize)" returns null. qemu-kvm/qom/object.c:239: var_assigned: Assigning: "ti->class" = null return value from "g_malloc0(gsize)". qemu-kvm/qom/object.c:249: dereference: Dereferencing a null pointer "ti->class". But if the passed size parameter is >= 1, then we can always get an effective pointer, the warning disappears. Signed-off-by: Amos Kong --- qom/object.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/qom/object.c b/qom/object.c index da0919a..0fbf2df 100644 --- a/qom/object.c +++ b/qom/object.c @@ -252,6 +252,7 @@ static void type_initialize(TypeImpl *ti) ti->class_size = type_class_get_size(ti); ti->instance_size = type_object_get_size(ti); + g_assert(ti->class_size != 0); ti->class = g_malloc0(ti->class_size); parent = type_get_parent(ti); @@ -424,6 +425,7 @@ Object *object_new_with_type(Type type) g_assert(type != NULL); type_initialize(type); + g_assert(type->instance_size != 0); obj = g_malloc(type->instance_size); object_initialize_with_type(obj, type->instance_size, type); obj->free = g_free; -- 1.9.3