ffmpeg | branch: master | Marton Balint <c...@passwd.hu> | Mon Feb 3 23:29:08 2020 +0100| [a3d8875df1f71e62a36c583cee638ab1d51a71d3] | committer: Marton Balint
avformat/http: make sure URL path contains a slash It is explicitly required by the HTTP RFC. Without this patch URLs like http://example.com?query will not work. Fixes ticket #8466. Signed-off-by: Marton Balint <c...@passwd.hu> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a3d8875df1f71e62a36c583cee638ab1d51a71d3 --- libavformat/http.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libavformat/http.c b/libavformat/http.c index 5411aa0f29..d0df1b6d58 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -193,7 +193,7 @@ static int http_open_cnx_internal(URLContext *h, AVDictionary **options) char *hashmark; char hostname[1024], hoststr[1024], proto[10]; char auth[1024], proxyauth[1024] = ""; - char path1[MAX_URL_SIZE]; + char path1[MAX_URL_SIZE], sanitized_path[MAX_URL_SIZE]; char buf[1024], urlbuf[MAX_URL_SIZE]; int port, use_proxy, err, location_changed = 0; HTTPContext *s = h->priv_data; @@ -220,10 +220,14 @@ static int http_open_cnx_internal(URLContext *h, AVDictionary **options) if (hashmark) *hashmark = '\0'; - if (path1[0] == '\0') + if (path1[0] == '\0') { path = "/"; - else + } else if (path1[0] == '?') { + snprintf(sanitized_path, sizeof(sanitized_path), "/%s", path1); + path = sanitized_path; + } else { path = path1; + } local_path = path; if (use_proxy) { /* Reassemble the request URL without auth string - we don't _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".