diff --git a/libavformat/hls.c b/libavformat/hls.c index 82dd744983..c16c7708f4 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -516,13 +516,15 @@ static int url_connect(struct playlist *pls, AVDictionary *opts, AVDictionary *o av_dict_copy(&tmp, opts, 0); av_dict_copy(&tmp, opts2, 0); - av_opt_set_dict(pls->input, &tmp); + if ((ret = av_opt_set_dict(pls->input, &tmp)) < 0) + goto fail; if ((ret = ffurl_connect(pls->input, NULL)) < 0) { ffurl_close(pls->input); pls->input = NULL; } +fail: av_dict_free(&tmp); return ret; }