[FFmpeg-cvslog] avformat/http: split the fragment part from the HTTP URL before the request

Marton Balint git at videolan.org
Sat Feb 15 20:26:52 EET 2020


ffmpeg | branch: master | Marton Balint <cus at passwd.hu> | Mon Feb  3 23:06:09 2020 +0100| [987ce96d41d21a120e6109f9bb1e3a9dcddbf30b] | committer: Marton Balint

avformat/http: split the fragment part from the HTTP URL before the request

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 at passwd.hu>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=987ce96d41d21a120e6109f9bb1e3a9dcddbf30b
---

 libavformat/http.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavformat/http.c b/libavformat/http.c
index 142511d091..5411aa0f29 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -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



More information about the ffmpeg-cvslog mailing list