[FFmpeg-devel] [PATCH 34/39] avutil/opt: Check directly for av_dict_copy() failure

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Fri May 21 12:17:37 EEST 2021


av_dict_copy() returned void when this code was written.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
Should one add AV_DICT_MULTIKEY to the flags to also copy dictionaries
with multiple entries?

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

diff --git a/libavutil/opt.c b/libavutil/opt.c
index 4124efd9b6..41284d4ecd 100644
--- a/libavutil/opt.c
+++ b/libavutil/opt.c
@@ -1807,12 +1807,13 @@ int av_opt_copy(void *dst, const void *src)
         } else if (o->type == AV_OPT_TYPE_DICT) {
             AVDictionary **sdict = (AVDictionary **) field_src;
             AVDictionary **ddict = (AVDictionary **) field_dst;
+            int ret2;
             if (*sdict != *ddict)
                 av_dict_free(ddict);
             *ddict = NULL;
-            av_dict_copy(ddict, *sdict, 0);
-            if (av_dict_count(*sdict) != av_dict_count(*ddict))
-                ret = AVERROR(ENOMEM);
+            ret2 = av_dict_copy(ddict, *sdict, 0);
+            if (ret2 < 0)
+                ret = ret2;
         } else {
             int size = opt_size(o->type);
             if (size < 0)
-- 
2.27.0



More information about the ffmpeg-devel mailing list