[FFmpeg-cvslog] rtmp: Don't assume path points to a string of nonzero length

Martin Storsjö git at videolan.org
Sat May 19 01:00:09 CEST 2012


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Wed May 16 11:45:47 2012 +0300| [4b7304e80d5f4312e34a748e6c34eb6a7346af7b] | committer: Martin Storsjö

rtmp: Don't assume path points to a string of nonzero length

If using the new -rtmp_app and -rtmp_playpath parameters,
one can in many cases set the main url to just rtmp://server/.
If the trailing slash is omitted, path is a string of zero length,
and using path+1 will end up reading uninitialized data.

Signed-off-by: Martin Storsjö <martin at martin.st>

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

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

diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c
index 427655c..1b86c44 100644
--- a/libavformat/rtmpproto.c
+++ b/libavformat/rtmpproto.c
@@ -895,9 +895,10 @@ static int rtmp_open(URLContext *s, const char *uri, int flags)
         fname = path + 10;
         memcpy(rt->app, "ondemand", 9);
     } else {
-        char *p = strchr(path + 1, '/');
+        char *next = *path ? path + 1 : path;
+        char *p = strchr(next, '/');
         if (!p) {
-            fname = path + 1;
+            fname = next;
             rt->app[0] = '\0';
         } else {
             char *c = strchr(p + 1, ':');



More information about the ffmpeg-cvslog mailing list