diff --git a/hw/misc/mos6522.c b/hw/misc/mos6522.c index ac4cd1d58e..1c57332b40 100644 --- a/hw/misc/mos6522.c +++ b/hw/misc/mos6522.c @@ -490,6 +490,14 @@ static void mos6522_init(Object *obj) s->timers[1].timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, mos6522_timer2, s); } +static void mos6522_finalize(Object *obj) +{ + MOS6522State *s = MOS6522(obj); + + timer_free(s->timers[0].timer); + timer_free(s->timers[1].timer); +} + static Property mos6522_properties[] = { DEFINE_PROP_UINT64("frequency", MOS6522State, frequency, 0), DEFINE_PROP_END_OF_LIST() @@ -519,6 +527,7 @@ static const TypeInfo mos6522_type_info = { .parent = TYPE_SYS_BUS_DEVICE, .instance_size = sizeof(MOS6522State), .instance_init = mos6522_init, + .instance_finalize = mos6522_finalize, .abstract = true, .class_size = sizeof(MOS6522DeviceClass), .class_init = mos6522_class_init,