mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-05 06:40:03 +00:00
hls: disallow opening nested files in child demuxers
This commit is contained in:
parent
e192cd9ce2
commit
225e84e745
@ -494,6 +494,16 @@ static int save_avio_options(AVFormatContext *s)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int nested_io_open(AVFormatContext *s, AVIOContext **pb, const char *url,
|
||||
int flags, AVDictionary **opts)
|
||||
{
|
||||
av_log(s, AV_LOG_ERROR,
|
||||
"A HLS playlist item '%s' referred to an external file '%s'. "
|
||||
"Opening this file was forbidden for security reasons\n",
|
||||
s->filename, url);
|
||||
return AVERROR(EPERM);
|
||||
}
|
||||
|
||||
static int hls_read_header(AVFormatContext *s)
|
||||
{
|
||||
HLSContext *c = s->priv_data;
|
||||
@ -579,6 +589,7 @@ static int hls_read_header(AVFormatContext *s)
|
||||
goto fail;
|
||||
}
|
||||
v->ctx->pb = &v->pb;
|
||||
v->ctx->io_open = nested_io_open;
|
||||
v->stream_offset = stream_offset;
|
||||
ret = avformat_open_input(&v->ctx, v->segments[0]->url, in_fmt, NULL);
|
||||
if (ret < 0)
|
||||
|
Loading…
Reference in New Issue
Block a user