diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-01-20 20:18:11 +0100 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-02-01 06:17:41 +0100 |
commit | 61cbfdc0a29e88483a6fa9645f64fec71983689a (patch) | |
tree | fcb847d974fd38044f1123571e5854fa98db1c02 | |
parent | f23d3a5f8f7c85df985e6c374cfc99b3ca91aaf6 (diff) | |
download | ffmpeg-61cbfdc0a29e88483a6fa9645f64fec71983689a.tar.gz |
avformat/http: Fix double-free on error
av_dict_set() with AV_DICT_DONT_STRDUP_VAL takes ownership
of the string it is passed to as val; this includes freeing it
on error.
Fixes Coverity issue #1497468.
Reviewed-by: Eran Kornblau <eran.kornblau@kaltura.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r-- | libavformat/http.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/libavformat/http.c b/libavformat/http.c index e8096e3134..8f39d11a88 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -333,10 +333,8 @@ static int redirect_cache_set(HTTPContext *s, const char *source, const char *de } ret = av_dict_set(&s->redirect_cache, source, value, AV_DICT_MATCH_CASE | AV_DICT_DONT_STRDUP_VAL); - if (ret < 0) { - av_free(value); + if (ret < 0) return ret; - } return 0; } |