On Thu, Jul 10, 2025 at 07:41:49PM +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 > --- > fftools/cmdutils.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c > index e442935cae..5c8d09f87a 100644 > --- a/fftools/cmdutils.c > +++ b/fftools/cmdutils.c > @@ -1471,9 +1471,13 @@ 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 NULL; > + } > return new_elem; teh return NULL is not needed as av_freep sets new_elem to NULL [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety -- Benjamin Franklin