]> git.sesse.net Git - ffmpeg/commitdiff
avformat/http: split the fragment part from the HTTP URL before the request
authorMarton Balint <cus@passwd.hu>
Mon, 3 Feb 2020 22:06:09 +0000 (23:06 +0100)
committerMarton Balint <cus@passwd.hu>
Sat, 15 Feb 2020 17:41:36 +0000 (18:41 +0100)
RFC 3986 states that the fragment identifier is separated from the rest of the
URI prior to a dereference, and thus the identifying information within the
fragment itself is dereferenced solely by the user agent.

Signed-off-by: Marton Balint <cus@passwd.hu>
libavformat/http.c

index 142511d091eb2deae7a4bc92a246d2ba17a75512..5411aa0f294408745a089ea0840bccd89d56a05e 100644 (file)
@@ -190,6 +190,7 @@ void ff_http_init_auth_state(URLContext *dest, const URLContext *src)
 static int http_open_cnx_internal(URLContext *h, AVDictionary **options)
 {
     const char *path, *proxy_path, *lower_proto = "tcp", *local_path;
+    char *hashmark;
     char hostname[1024], hoststr[1024], proto[10];
     char auth[1024], proxyauth[1024] = "";
     char path1[MAX_URL_SIZE];
@@ -215,6 +216,10 @@ static int http_open_cnx_internal(URLContext *h, AVDictionary **options)
     if (port < 0)
         port = 80;
 
+    hashmark = strchr(path1, '#');
+    if (hashmark)
+        *hashmark = '\0';
+
     if (path1[0] == '\0')
         path = "/";
     else