On Wed, 5 May 2021 23:10:35 +0200 Philippe Mathieu-Daudé <phi...@redhat.com> wrote:
> Use autofree heap allocation instead of variable-length > array on the stack. > > Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> > --- > hw/intc/xics.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/intc/xics.c b/hw/intc/xics.c > index 68f9d44feb4..c293d00d5c4 100644 > --- a/hw/intc/xics.c > +++ b/hw/intc/xics.c > @@ -566,8 +566,8 @@ static void ics_reset_irq(ICSIRQState *irq) > static void ics_reset(DeviceState *dev) > { > ICSState *ics = ICS(dev); > + g_autofree uint8_t *flags = g_malloc(ics->nr_irqs); I would have made it g_new(uint8_t, ics->nr_irqs) so that changes in the type of 'flags' that could potentially change the allocated size are safely detected. This is unlikely though, so: Reviewed-by: Greg Kurz <gr...@kaod.org> > int i; > - uint8_t flags[ics->nr_irqs]; > > for (i = 0; i < ics->nr_irqs; i++) { > flags[i] = ics->irqs[i].flags;