ffmpeg | branch: release/4.4 | Andreas Rheinhardt 
<[email protected]> | Wed Oct  6 16:05:39 2021 +0200| 
[fdf7a28b0a9003dfcb56c27c962c59cfded6310d] | committer: Andreas Rheinhardt

avfilter/aeval: Fix leak of expressions upon reallocation error

Fix this by switching to av_dynarray_add_nofree() which is more
natural anyway because the entries of the array are pointers.

Reviewed-by: Paul B Mahol <[email protected]>
Signed-off-by: Andreas Rheinhardt <[email protected]>
(cherry picked from commit 05c1f78a72916ef2466cc5a4fc778810503225ee)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fdf7a28b0a9003dfcb56c27c962c59cfded6310d
---

 libavfilter/aeval.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/libavfilter/aeval.c b/libavfilter/aeval.c
index d5437431ab..7636063bcf 100644
--- a/libavfilter/aeval.c
+++ b/libavfilter/aeval.c
@@ -124,11 +124,10 @@ static int parse_channel_expressions(AVFilterContext *ctx,
     }
 
 #define ADD_EXPRESSION(expr_) do {                                      \
-        if (!av_dynarray2_add((void **)&eval->expr, &eval->nb_channels, \
-                              sizeof(*eval->expr), NULL)) {             \
-            ret = AVERROR(ENOMEM);                                      \
+        ret = av_dynarray_add_nofree(&eval->expr,                       \
+                                     &eval->nb_channels, NULL);         \
+        if (ret < 0)                                                    \
             goto end;                                                   \
-        }                                                               \
         eval->expr[eval->nb_channels-1] = NULL;                         \
         ret = av_expr_parse(&eval->expr[eval->nb_channels - 1], expr_,  \
                             var_names, func1_names, func1,              \

_______________________________________________
ffmpeg-cvslog mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to