[FFmpeg-cvslog] av_url_split: dont let '/' char whallop '?' char

Peter Ross git at videolan.org
Sun Jul 22 16:39:25 CEST 2012


ffmpeg | branch: master | Peter Ross <pross at xvid.org> | Sun Jul 22 20:51:53 2012 +1000| [1be55c82a5b0ec4c16ab3aba5667ca47f9f169ff] | committer: Michael Niedermayer

av_url_split: dont let '/' char whallop '?' char

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavformat/utils.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/libavformat/utils.c b/libavformat/utils.c
index c437866..eef77d0 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -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



More information about the ffmpeg-cvslog mailing list