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 <ak...@redhat.com> --- 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