avformat/hls: More strict url checks
authorMichael Niedermayer <michael@niedermayer.cc>
Fri, 15 Jan 2016 12:29:38 +0000 (13:29 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 15 Jan 2016 13:11:21 +0000 (14:11 +0100)
No case is known where these are needed

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavformat/hls.c

index 8063afc..e4b5de5 100644 (file)
@@ -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);