diff options
author | Philippe Mathieu-Daudé <philmd@linaro.org> | 2023-10-03 09:58:14 +0200 |
---|---|---|
committer | Philippe Mathieu-Daudé <philmd@linaro.org> | 2023-10-20 14:46:07 +0200 |
commit | 705000674b9df27cc80328e83d3825dc5ee3d6d6 (patch) | |
tree | 7149e5f7b72bc9997b635661758f07a70514752e | |
parent | ea08e72eb0288c40816c4b3a14688345d2eb0707 (diff) | |
download | qemu-705000674b9df27cc80328e83d3825dc5ee3d6d6.zip qemu-705000674b9df27cc80328e83d3825dc5ee3d6d6.tar.gz qemu-705000674b9df27cc80328e83d3825dc5ee3d6d6.tar.bz2 |
hw/intc/apic: Use ERRP_GUARD() in apic_common_realize()
APICCommonClass::realize() is a DeviceRealize() handler which
take an Error** parameter and can fail. Do not proceed further
on failure.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Peter Xu <peterx@redhat.com>
Message-Id: <20231003082728.83496-2-philmd@linaro.org>
-rw-r--r-- | hw/intc/apic_common.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c index 68ad30e..bccb424 100644 --- a/hw/intc/apic_common.c +++ b/hw/intc/apic_common.c @@ -257,6 +257,7 @@ static const VMStateDescription vmstate_apic_common; static void apic_common_realize(DeviceState *dev, Error **errp) { + ERRP_GUARD(); APICCommonState *s = APIC_COMMON(dev); APICCommonClass *info; static DeviceState *vapic; @@ -267,6 +268,9 @@ static void apic_common_realize(DeviceState *dev, Error **errp) info = APIC_COMMON_GET_CLASS(s); info->realize(dev, errp); + if (*errp) { + return; + } /* Note: We need at least 1M to map the VAPIC option ROM */ if (!vapic && s->vapic_control & VAPIC_ENABLE_MASK && |