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;
|
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)
|
static int hls_read_header(AVFormatContext *s)
|
||||||
{
|
{
|
||||||
HLSContext *c = s->priv_data;
|
HLSContext *c = s->priv_data;
|
||||||
@ -579,6 +589,7 @@ static int hls_read_header(AVFormatContext *s)
|
|||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
v->ctx->pb = &v->pb;
|
v->ctx->pb = &v->pb;
|
||||||
|
v->ctx->io_open = nested_io_open;
|
||||||
v->stream_offset = stream_offset;
|
v->stream_offset = stream_offset;
|
||||||
ret = avformat_open_input(&v->ctx, v->segments[0]->url, in_fmt, NULL);
|
ret = avformat_open_input(&v->ctx, v->segments[0]->url, in_fmt, NULL);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user