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@martin.st>
This commit is contained in:
Martin Storsjö 2012-05-16 11:45:47 +03:00
parent 01e98b1b00
commit 4b7304e80d

View File

@ -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, ':');