If we assign the user crateable object in QEMU command line, then the correspeonding qemu_opts for the object doesn't be deleted, which will produce a wrong result.
If we hot unplug the object by object_del, the qemu_opts will be leaked, ann then if we hot plug the object using the same id by object_add, we will get a error: "Duplicate ID 'xxxx' for object" Let's del the qemu opts after the object created, just likes what the hmp_object_add function does. Signed-off-by: Gonglei <arei.gong...@huawei.com> --- qom/object_interfaces.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c index ded4d84..b8fe9db 100644 --- a/qom/object_interfaces.c +++ b/qom/object_interfaces.c @@ -189,6 +189,10 @@ int user_creatable_add_opts_foreach(void *opaque, QemuOpts *opts, Error **errp) return -1; } object_unref(obj); + + qemu_opts_del(opts); + opts = NULL; + return 0; } -- 1.8.3.1