aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/hls.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-10-24 19:23:23 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-10-24 19:23:23 +0200
commit4641ae352ec587355764ffd5c43dd0d0ebd47654 (patch)
treeda175629ebf72bf55a504dd2d0240b1034892f4e /libavformat/hls.c
parente56425d1a71828c32f7f355f0979534e1007078f (diff)
downloadffmpeg-4641ae352ec587355764ffd5c43dd0d0ebd47654.tar.gz
avformat: Add and use ff_copy_whitelists()
Fixes potential security issue in case of running out of memory Found-by: ubitux Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/hls.c')
-rw-r--r--libavformat/hls.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/libavformat/hls.c b/libavformat/hls.c
index 80d9b5f016..f17b826f30 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -1345,9 +1345,8 @@ static int hls_read_header(AVFormatContext *s)
pls->ctx->pb = &pls->pb;
pls->stream_offset = stream_offset;
- av_assert0(!pls->ctx->codec_whitelist && !pls->ctx->format_whitelist);
- pls->ctx-> codec_whitelist = av_strdup(s->codec_whitelist);
- pls->ctx->format_whitelist = av_strdup(s->format_whitelist);
+ if ((ret = ff_copy_whitelists(pls->ctx, s)) < 0)
+ goto fail;
ret = avformat_open_input(&pls->ctx, pls->segments[0]->url, in_fmt, NULL);
if (ret < 0)