[FFmpeg-cvslog] Allow use of @ character in username and passwords embedded in URLs
Gavin Kinsey
git at videolan.org
Mon Nov 19 18:30:10 CET 2012
ffmpeg | branch: master | Gavin Kinsey <gkinsey at ad-holdings.co.uk> | Thu Nov 15 10:56:47 2012 +0000| [19660a887677bdf22593cb89753f13db7f525358] | committer: Michael Niedermayer
Allow use of @ character in username and passwords embedded in URLs
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=19660a887677bdf22593cb89753f13db7f525358
---
libavformat/utils.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/libavformat/utils.c b/libavformat/utils.c
index af1f323..4760f45 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -3592,7 +3592,7 @@ void av_url_split(char *proto, int proto_size,
char *path, int path_size,
const char *url)
{
- const char *p, *ls, *ls2, *at, *col, *brk;
+ const char *p, *ls, *ls2, *at, *at2, *col, *brk;
if (port_ptr) *port_ptr = -1;
if (proto_size > 0) proto[0] = 0;
@@ -3627,9 +3627,10 @@ void av_url_split(char *proto, int proto_size,
/* the rest is hostname, use that to parse auth/port */
if (ls != p) {
/* authorization (user[:pass]@hostname) */
- if ((at = strchr(p, '@')) && at < ls) {
- av_strlcpy(authorization, p,
- FFMIN(authorization_size, at + 1 - p));
+ at2 = p;
+ while ((at = strchr(p, '@')) && at < ls) {
+ av_strlcpy(authorization, at2,
+ FFMIN(authorization_size, at + 1 - at2));
p = at + 1; /* skip '@' */
}
More information about the ffmpeg-cvslog
mailing list