mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 10:13:56 -06:00
hw/m68k/mcf5206: Don't leak IRQs in mcf5206_mbar_realize()
Coverity points out that the realize function for the TYPE_MCF5206_MBAR device leaks the IRQ array it allocates with qemu_allocate_irqs(). Keep a pointer to it in the device state struct to avoid the leak. (Since it needs to stay around for the life of the simulation there is no need to actually free it, and the leak was harmless.) Fixes: Coverity CID 1432412 Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Thomas Huth <huth@tuxfamily.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20201120172314.14725-1-peter.maydell@linaro.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
d1a8b308a4
commit
b0bed2c916
1 changed files with 6 additions and 6 deletions
|
@ -164,6 +164,7 @@ typedef struct {
|
|||
|
||||
M68kCPU *cpu;
|
||||
MemoryRegion iomem;
|
||||
qemu_irq *pic;
|
||||
m5206_timer_state *timer[2];
|
||||
void *uart[2];
|
||||
uint8_t scr;
|
||||
|
@ -588,17 +589,16 @@ static const MemoryRegionOps m5206_mbar_ops = {
|
|||
static void mcf5206_mbar_realize(DeviceState *dev, Error **errp)
|
||||
{
|
||||
m5206_mbar_state *s = MCF5206_MBAR(dev);
|
||||
qemu_irq *pic;
|
||||
|
||||
memory_region_init_io(&s->iomem, NULL, &m5206_mbar_ops, s,
|
||||
"mbar", 0x00001000);
|
||||
sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->iomem);
|
||||
|
||||
pic = qemu_allocate_irqs(m5206_mbar_set_irq, s, 14);
|
||||
s->timer[0] = m5206_timer_init(pic[9]);
|
||||
s->timer[1] = m5206_timer_init(pic[10]);
|
||||
s->uart[0] = mcf_uart_init(pic[12], serial_hd(0));
|
||||
s->uart[1] = mcf_uart_init(pic[13], serial_hd(1));
|
||||
s->pic = qemu_allocate_irqs(m5206_mbar_set_irq, s, 14);
|
||||
s->timer[0] = m5206_timer_init(s->pic[9]);
|
||||
s->timer[1] = m5206_timer_init(s->pic[10]);
|
||||
s->uart[0] = mcf_uart_init(s->pic[12], serial_hd(0));
|
||||
s->uart[1] = mcf_uart_init(s->pic[13], serial_hd(1));
|
||||
s->cpu = M68K_CPU(qemu_get_cpu(0));
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue