From f7a6965308ab5a6e35a54570d9c7395d2569637c Mon Sep 17 00:00:00 2001 From: Jiasheng Jiang Date: Tue, 15 Jul 2025 00:31:09 +0000 Subject: [PATCH] fftools/cmdutils: Add av_freep() to avoid memory leak Add av_freep() to free new_elem to avoid memory leak. Fixes: 3ca1e31e63 ("fftools/cmdutils: Atomically add elements to list of pointers, fix crash") Signed-off-by: Jiasheng Jiang Signed-off-by: Michael Niedermayer --- 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; }