Commit 8ffad850 authored by Peter Crosthwaite's avatar Peter Crosthwaite Committed by Paolo Bonzini
Browse files

qom: object: Ignore refs/unrefs of NULL



Just do nothing if passed NULL for a ref or unref. This avoids
call sites that manage a combination of NULL or non-NULL pointers
having to add iffery around every ref and unref.

Signed-off-by: default avatarPeter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent c28322d1
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -711,11 +711,17 @@ GSList *object_class_get_list(const char *implements_type,

void object_ref(Object *obj)
{
    if (!obj) {
        return;
    }
     atomic_inc(&obj->ref);
}

void object_unref(Object *obj)
{
    if (!obj) {
        return;
    }
    g_assert(obj->ref > 0);

    /* parent always holds a reference to its children */
@@ -1160,14 +1166,10 @@ static void object_set_link_property(Object *obj, Visitor *v, void *opaque,
        return;
    }

    if (new_target) {
    object_ref(new_target);
    }
    *child = new_target;
    if (old_target != NULL) {
    object_unref(old_target);
}
}

static Object *object_resolve_link_property(Object *parent, void *opaque, const gchar *part)
{