Paolo Bonzini <pbonz...@redhat.com> wrote: > Il mar 25 apr 2023, 15:31 Daniel P. Berrangé <berra...@redhat.com> ha > scritto: > >> > > - BHListSlice slice; >> > > + /* >> > > + * gcc13 complains about putting a local variable >> > > + * in a global list, so put it on the heap. >> > > + */ >> > > + g_autofree BHListSlice *slice = g_new(BHListSlice, 1); >> > > BHListSlice *s; >> > > int ret = 0; >> > > >> > >> > This must be a memory leak since you're adding a g_new but not >> > adding any g_free >> >> Sorry, I'm failing to read properly today. It uses g_autofree >> so there is no leak. >> > > On the other hand, if the pointer to the heap-allocated BHListSlice > escaped, this would be a dangling pointer as well—just not the kind that > the new GCC warning can report.
I don't agree here. If with my patch it becomes a dangling pointer because we free it. With Cedric patch it is a local variable that gets exited out of the function that created it. Choose your poison. One thing is bad and the other is worse. > So this patch is also doing nothing but shut up the compiler; but it's > doing so in an underhanded manner and with a runtime cost, and as such it's > worse than Cedric's patch. Ok. I don't care (enogouh) about this to continue a discussion.. Can we get Cedric patch upstream? Thanks, Juan.