Mercurial > mplayer.hg
changeset 12894:1591792d4054
Fix segfault caused by changing a pointer that will be freed later
Patch by Martin Simmons ( vyslnqaaxytp at spammotel dot com )
author | rtognimp |
---|---|
date | Sun, 25 Jul 2004 00:37:07 +0000 |
parents | 0c28de2f031f |
children | 3cd9add91f97 |
files | libmpdemux/network.c |
diffstat | 1 files changed, 7 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpdemux/network.c Sun Jul 25 00:33:32 2004 +0000 +++ b/libmpdemux/network.c Sun Jul 25 00:37:07 2004 +0000 @@ -1023,6 +1023,7 @@ int fd; rtsp_session_t *rtsp; char *mrl; + char *file; int port; int redirected, temp; if( stream==NULL ) return -1; @@ -1037,11 +1038,12 @@ port = (stream->streaming_ctrl->url->port ? stream->streaming_ctrl->url->port : 554),1 ); if(fd<0) return -1; - mrl = malloc(sizeof(char)*(strlen(stream->streaming_ctrl->url->hostname)+strlen(stream->streaming_ctrl->url->file)+16)); - if (stream->streaming_ctrl->url->file[0] == '/') - stream->streaming_ctrl->url->file++; - sprintf(mrl,"rtsp://%s:%i/%s",stream->streaming_ctrl->url->hostname,port,stream->streaming_ctrl->url->file); - rtsp = rtsp_session_start(fd,&mrl, stream->streaming_ctrl->url->file, + file = stream->streaming_ctrl->url->file; + if (file[0] == '/') + file++; + mrl = malloc(sizeof(char)*(strlen(stream->streaming_ctrl->url->hostname)+strlen(file)+16)); + sprintf(mrl,"rtsp://%s:%i/%s",stream->streaming_ctrl->url->hostname,port,file); + rtsp = rtsp_session_start(fd,&mrl, file, stream->streaming_ctrl->url->hostname, port, &redirected); if ( redirected == 1 ) {