object-add: don't create return value if failed

No need to return an empty value from object-add (it would also leak
if the command failed).  While at it, remove the "if" around object_unref
since object_unref handles NULL arguments just fine.

Reported-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20200325184723.2029630-4-marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2020-03-26 10:41:21 +01:00
parent b3fbb32812
commit 7f5d9b206d

View File

@ -285,10 +285,7 @@ void qmp_object_add(QDict *qdict, QObject **ret_data, Error **errp)
v = qobject_input_visitor_new(QOBJECT(qdict)); v = qobject_input_visitor_new(QOBJECT(qdict));
obj = user_creatable_add_type(type, id, qdict, v, errp); obj = user_creatable_add_type(type, id, qdict, v, errp);
visit_free(v); visit_free(v);
if (obj) { object_unref(obj);
object_unref(obj);
}
*ret_data = QOBJECT(qdict_new());
} }
void qmp_object_del(const char *id, Error **errp) void qmp_object_del(const char *id, Error **errp)