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 <jiashengjiangc...@gmail.com>
---
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;
 }
 
-- 
2.25.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to