diff options
author | Jiasheng Jiang <jiashengjiangcool@gmail.com> | 2025-07-15 00:31:09 +0000 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2025-07-20 01:05:22 +0200 |
commit | f7a6965308ab5a6e35a54570d9c7395d2569637c (patch) | |
tree | f7b8cc8a8f8db782ff8c73a4fe32f9bc2b251340 /fftools/cmdutils.c | |
parent | 85ac5892116e70ef01c7cb27f6813ac843d2a977 (diff) | |
download | ffmpeg-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.c | 7 |
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; } |