av_url_split: dont let '/' char whallop '?' char
authorPeter Ross <pross@xvid.org>
Sun, 22 Jul 2012 10:51:53 +0000 (20:51 +1000)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 22 Jul 2012 14:26:43 +0000 (16:26 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/utils.c

index c437866..eef77d0 100644 (file)
@@ -4076,7 +4076,7 @@ void av_url_split(char *proto, int proto_size,
                   char *path, int path_size,
                   const char *url)
 {
-    const char *p, *ls, *at, *col, *brk;
+    const char *p, *ls, *ls2, *at, *col, *brk;
 
     if (port_ptr)               *port_ptr = -1;
     if (proto_size > 0)         proto[0] = 0;
@@ -4098,8 +4098,11 @@ void av_url_split(char *proto, int proto_size,
 
     /* separate path from hostname */
     ls = strchr(p, '/');
+    ls2 = strchr(p, '?');
     if(!ls)
-        ls = strchr(p, '?');
+        ls = ls2;
+    else if (ls && ls2)
+        ls = FFMIN(ls, ls2);
     if(ls)
         av_strlcpy(path, ls, path_size);
     else