summaryrefslogtreecommitdiff
path: root/hw/core
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2021-10-08 15:34:35 +0200
committerKevin Wolf <kwolf@redhat.com>2021-10-15 16:06:35 +0200
commit163f384752dd9125ce7eb1b2edf00b23f0a54557 (patch)
tree59527155773e38b387748fd2c195618daf25d3ea /hw/core
parentc34efecedd0552ee8b830402241e19daebb22aec (diff)
downloadqemu-163f384752dd9125ce7eb1b2edf00b23f0a54557.zip
qdev: Make DeviceState.id independent of QemuOpts
DeviceState.id is a pointer to a string that is stored in the QemuOpts object DeviceState.opts and freed together with it. We want to create devices without going through QemuOpts in the future, so make this a separately allocated string. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Message-Id: <20211008133442.141332-9-kwolf@redhat.com> Reviewed-by: Damien Hedde <damien.hedde@greensocs.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Tested-by: Peter Krempa <pkrempa@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'hw/core')
-rw-r--r--hw/core/qdev.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index cefc5eaa0a..d918b50a1d 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -956,6 +956,7 @@ static void device_finalize(Object *obj)
}
qemu_opts_del(dev->opts);
+ g_free(dev->id);
}
static void device_class_base_init(ObjectClass *class, void *data)