[Mplayer-cvslog] CVS: main/libmpdemux network.c,1.104,1.105

Roberto Togni CVS syncmail at mplayerhq.hu
Sun Jul 25 02:37:09 CEST 2004


CVS change done by Roberto Togni CVS

Update of /cvsroot/mplayer/main/libmpdemux
In directory mail:/var2/tmp/cvs-serv7423

Modified Files:
	network.c 
Log Message:
Fix segfault caused by changing a pointer that will be freed later
Patch by Martin Simmons ( vyslnqaaxytp at spammotel dot com )


Index: network.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/network.c,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -r1.104 -r1.105
--- network.c	11 Jul 2004 22:47:49 -0000	1.104
+++ network.c	25 Jul 2004 00:37:07 -0000	1.105
@@ -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 ) {




More information about the MPlayer-cvslog mailing list