On Sat, Jul 12, 2025 at 01:46:28PM +0000, Jiasheng Jiang wrote: > Add av_freep() to free new_elem to avoid memory leak. > > Fixes: 2d0bfbd0fa ("fftools/cmdutils: Use av_dynarray_add_nofree()") > Signed-off-by: Jiasheng Jiang > --- > Changlog: > > v1 -> v2: > > 1. Remove the unnecessary return NULL. > --- > fftools/cmdutils.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c > index e442935cae..dc093b0bd3 100644 > --- a/fftools/cmdutils.c > +++ b/fftools/cmdutils.c > @@ -1471,9 +1471,12 @@ void *allocate_array_elem(void *ptr, size_t elem_size, int *nb_elems) > { > void *new_elem; > > - if (!(new_elem = av_mallocz(elem_size)) || > - av_dynarray_add_nofree(ptr, nb_elems, new_elem) < 0) > + new_elem = av_mallocz(elem_size); > + if (!new_elem) > return NULL; > + if (av_dynarray_add_nofree(ptr, nb_elems, new_elem) < 0) > + av_freep(&new_elem); > + > return new_elem; > } 2d0bfbd0fa has not introduced this leak The code before exited, liek the code after but did leak too - new_elem = av_mallocz(elem_size); - if (!new_elem) - exit_program(1); [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Never trust a computer, one day, it may think you are the virus. -- Compn