From be1ea14295c058e0ac8aeb0097ebde23f80397bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Mon, 27 Apr 2026 16:05:25 +0400 Subject: [PATCH] hw/arm/aspeed: free fmc_model and spi_model on finalization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The fmc_model and spi_model strings are allocated via g_strdup in property setters but never freed when the machine object is destroyed. Fixes: 9820e52fbef7 ("hw/arm/aspeed: Add machine properties to define the flash models") Reviewed-by: Cédric Le Goater Signed-off-by: Marc-André Lureau --- hw/arm/aspeed.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index a3db3406c5..a48c442058 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -419,12 +419,21 @@ static void aspeed_machine_class_init(ObjectClass *oc, const void *data) aspeed_machine_class_props_init(oc); } +static void aspeed_machine_instance_finalize(Object *obj) +{ + AspeedMachineState *bmc = ASPEED_MACHINE(obj); + + g_free(bmc->fmc_model); + g_free(bmc->spi_model); +} + static const TypeInfo aspeed_machine_types[] = { { .name = TYPE_ASPEED_MACHINE, .parent = TYPE_MACHINE, .instance_size = sizeof(AspeedMachineState), .instance_init = aspeed_machine_instance_init, + .instance_finalize = aspeed_machine_instance_finalize, .class_size = sizeof(AspeedMachineClass), .class_init = aspeed_machine_class_init, .abstract = true,