From: Zheng Huang Date: Fri, 9 May 2025 11:21:35 +0000 (+0800) Subject: hw/audio/cs4231a: fix assertion error in isa_bus_get_irq X-Git-Tag: v10.1.0-rc0~90^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bbdbc47b5c6907e065f84e751d127dae3cebfd54;p=thirdparty%2Fqemu.git hw/audio/cs4231a: fix assertion error in isa_bus_get_irq This patch fixes an assertion error in isa_bus_get_irq() in /hw/isa/isa-bus.c by adding a constraint to the irq property. Patch v1 misused ISA_NUM_IRQS, pls ignore that. Signed-off-by: Zheng Huang Link: https://lore.kernel.org/r/6d228069-e38f-4c46-813f-edcccc5c47e4@gmail.com Signed-off-by: Paolo Bonzini --- diff --git a/hw/audio/cs4231a.c b/hw/audio/cs4231a.c index 06b44da8690..eb9a45805b7 100644 --- a/hw/audio/cs4231a.c +++ b/hw/audio/cs4231a.c @@ -682,6 +682,10 @@ static void cs4231a_realizefn (DeviceState *dev, Error **errp) return; } + if (s->irq >= ISA_NUM_IRQS) { + error_setg(errp, "Invalid IRQ %d (max %d)", s->irq, ISA_NUM_IRQS - 1); + return; + } s->pic = isa_bus_get_irq(bus, s->irq); k = ISADMA_GET_CLASS(s->isa_dma); k->register_channel(s->isa_dma, s->dma, cs_dma_read, s);