avutil/opt: Check directly for av_dict_copy() failure

av_dict_copy() returned void when this code was written.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
pull/362/head
Andreas Rheinhardt 4 years ago
parent cbf6047c83
commit 7e03d962a4
  1. 7
      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)

Loading…
Cancel
Save