diff --git a/backends/igvm.c b/backends/igvm.c index 50f0d6fb9a..c347d0c17e 100644 --- a/backends/igvm.c +++ b/backends/igvm.c @@ -216,11 +216,13 @@ static void *qigvm_prepare_memory(QIgvm *ctx, uint64_t addr, uint64_t size, ctx->machine_state->cgs->require_guest_memfd) { if (!memory_region_init_ram_guest_memfd(igvm_pages, NULL, region_name, size, errp)) { + g_free(igvm_pages); return NULL; } } else { if (!memory_region_init_ram(igvm_pages, NULL, region_name, size, errp)) { + g_free(igvm_pages); return NULL; } } diff --git a/include/system/igvm-internal.h b/include/system/igvm-internal.h index 76ae1bc3be..7f131c4d03 100644 --- a/include/system/igvm-internal.h +++ b/include/system/igvm-internal.h @@ -19,7 +19,7 @@ #include struct IgvmCfg { - ObjectClass parent_class; + Object parent_obj; /* * filename: Filename that specifies a file that contains the configuration