aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-01-15 13:29:38 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2016-01-15 14:17:28 +0100
commit23b903aaf4eefb1ce1396a32525c8e5501d5cec8 (patch)
treeec04f7505031782417076de19d045d66e89a38d4
parent4676e20a9da6add1886a9ae11389f9b9471cbacc (diff)
downloadffmpeg-23b903aaf4eefb1ce1396a32525c8e5501d5cec8.tar.gz
avformat/hls: More strict url checks
No case is known where these are needed Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 6ba42b6482c725a59eb468391544dc0c75b8c6f0) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavformat/hls.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavformat/hls.c b/libavformat/hls.c
index 44b656d694..6e9832fe68 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -622,6 +622,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);