diff options
Diffstat (limited to 'libavutil/dict.c')
-rw-r--r-- | libavutil/dict.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/libavutil/dict.c b/libavutil/dict.c index 7f4832092a..7213bf2519 100644 --- a/libavutil/dict.c +++ b/libavutil/dict.c @@ -186,10 +186,15 @@ void av_dict_free(AVDictionary **pm) av_freep(pm); } -void av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags) +int av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags) { AVDictionaryEntry *t = NULL; - while ((t = av_dict_get(src, "", t, AV_DICT_IGNORE_SUFFIX))) - av_dict_set(dst, t->key, t->value, flags); + while ((t = av_dict_get(src, "", t, AV_DICT_IGNORE_SUFFIX))) { + int ret = av_dict_set(dst, t->key, t->value, flags); + if (ret < 0) + return ret; + } + + return 0; } |