Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-01-15 15:29:38 +0300
committerMichael Niedermayer <michael@niedermayer.cc>2016-01-15 16:11:21 +0300
commit6ba42b6482c725a59eb468391544dc0c75b8c6f0 (patch)
treee3c57ac774d40dd00633e7642258e7a49501ccf2 /libavformat
parente3c188e72c02f30d10906ae06516563f58a58a1b (diff)
avformat/hls: More strict url checks
No case is known where these are needed Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/hls.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavformat/hls.c b/libavformat/hls.c
index 8063afcfdd..e4b5de5da9 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -614,6 +614,10 @@ static int open_url(HLSContext *c, URLContext **uc, const char *url, AVDictionar
// only http(s) & file are allowed
if (!av_strstart(proto_name, "http", NULL) && !av_strstart(proto_name, "file", NULL))
return AVERROR_INVALIDDATA;
+ if (!strncmp(proto_name, url, strlen(proto_name)) && url[strlen(proto_name)] == ':')
+ ;
+ else if (strcmp(proto_name, "file") || !strcmp(url, "file,"))
+ return AVERROR_INVALIDDATA;
av_dict_copy(&tmp, c->avio_opts, 0);
av_dict_copy(&tmp, opts, 0);