hw/misc/mps2-scc: Free MPS2SCC::oscclk[] array on finalize()
Commit0be6bfac62
("qdev: Implement variable length array properties") added the DEFINE_PROP_ARRAY() macro with the following comment: * It is the responsibility of the device deinit code to free the * @_arrayfield memory. Commit4fb013afcc
added: DEFINE_PROP_ARRAY("oscclk", MPS2SCC, num_oscclk, oscclk_reset, qdev_prop_uint32, uint32_t), but forgot to free the 'oscclk_reset' array. Do it in the instance_finalize() handler. Cc: qemu-stable@nongnu.org Fixes:4fb013afcc
("hw/misc/mps2-scc: Support configurable number of OSCCLK values") # v6.0.0+ Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-id: 20231121174051.63038-4-philmd@linaro.org Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
c9a4aa06df
commit
896dd6ff7b
@ -329,6 +329,13 @@ static void mps2_scc_realize(DeviceState *dev, Error **errp)
|
||||
s->oscclk = g_new0(uint32_t, s->num_oscclk);
|
||||
}
|
||||
|
||||
static void mps2_scc_finalize(Object *obj)
|
||||
{
|
||||
MPS2SCC *s = MPS2_SCC(obj);
|
||||
|
||||
g_free(s->oscclk_reset);
|
||||
}
|
||||
|
||||
static const VMStateDescription mps2_scc_vmstate = {
|
||||
.name = "mps2-scc",
|
||||
.version_id = 3,
|
||||
@ -385,6 +392,7 @@ static const TypeInfo mps2_scc_info = {
|
||||
.parent = TYPE_SYS_BUS_DEVICE,
|
||||
.instance_size = sizeof(MPS2SCC),
|
||||
.instance_init = mps2_scc_init,
|
||||
.instance_finalize = mps2_scc_finalize,
|
||||
.class_init = mps2_scc_class_init,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user