aboutsummaryrefslogtreecommitdiffstats
path: root/fftools/cmdutils.c
diff options
context:
space:
mode:
authorJiasheng Jiang <jiashengjiangcool@gmail.com>2025-07-15 00:31:09 +0000
committerMichael Niedermayer <michael@niedermayer.cc>2025-07-20 01:05:22 +0200
commitf7a6965308ab5a6e35a54570d9c7395d2569637c (patch)
treef7b8cc8a8f8db782ff8c73a4fe32f9bc2b251340 /fftools/cmdutils.c
parent85ac5892116e70ef01c7cb27f6813ac843d2a977 (diff)
downloadffmpeg-f7a6965308ab5a6e35a54570d9c7395d2569637c.tar.gz
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 <jiashengjiangcool@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'fftools/cmdutils.c')
-rw-r--r--fftools/cmdutils.c7
1 files 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;
}