[MPlayer-cvslog] r21792 - trunk/stream/http.c

iive subversion at mplayerhq.hu
Sat Dec 30 14:23:39 CET 2006


Author: iive
Date: Sat Dec 30 14:23:39 2006
New Revision: 21792

Modified:
   trunk/stream/http.c

Log:
Fix double free of *http_hdr at server error.

In http.c::http_streaming_start() *http_hdr is allocated
then assigned to stream->streaming_ctrl->data
if server returns error *http_hdr is freed before function returns.
However the copy in ->data remains and is
later freed (again) by network.c::streaming_ctrl_free().


Modified: trunk/stream/http.c
==============================================================================
--- trunk/stream/http.c	(original)
+++ trunk/stream/http.c	Sat Dec 30 14:23:39 2006
@@ -749,8 +749,6 @@
 			http_debug_hdr( http_hdr );
 		}
 		
-		stream->streaming_ctrl->data = (void*)http_hdr;
-
 		// Check if we can make partial content requests and thus seek in http-streams
 		if( http_hdr!=NULL && http_hdr->status_code==200 ) {
 		    char *accept_ranges;
@@ -858,7 +856,9 @@
 	fd = -1;
 	res = STREAM_UNSUPORTED;
 	http_free( http_hdr );
+	http_hdr = NULL;
 out:
+	stream->streaming_ctrl->data = (void*)http_hdr;
 	stream->fd = fd;
 	return res;
 }



More information about the MPlayer-cvslog mailing list