Skip to content

Commit

Permalink
hw/intc: Check @errp to handle the error of IOAPICCommonClass.realize()
Browse files Browse the repository at this point in the history
IOAPICCommonClass implements its own private realize(), and this private
realize() allows error.

Since IOAPICCommonClass.realize() returns void, to check the error,
dereference @errp with ERRP_GUARD().

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240223085653.1255438-8-zhao1.liu@linux.intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
  • Loading branch information
trueptolemy authored and huth committed Mar 12, 2024
1 parent 8cb84d7 commit 4a9fafb
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions hw/intc/ioapic_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ static int ioapic_dispatch_post_load(void *opaque, int version_id)

static void ioapic_common_realize(DeviceState *dev, Error **errp)
{
ERRP_GUARD();
IOAPICCommonState *s = IOAPIC_COMMON(dev);
IOAPICCommonClass *info;

Expand All @@ -162,6 +163,9 @@ static void ioapic_common_realize(DeviceState *dev, Error **errp)

info = IOAPIC_COMMON_GET_CLASS(s);
info->realize(dev, errp);
if (*errp) {
return;
}

sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->io_memory);
ioapic_no++;
Expand Down

0 comments on commit 4a9fafb

Please sign in to comment.