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().


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21792 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
iive 2006-12-30 13:23:39 +00:00
parent 74ec945b20
commit a36aff154c
1 changed files with 2 additions and 2 deletions

View File

@ -749,8 +749,6 @@ static int http_streaming_start(stream_t *stream, int* file_format) {
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 @@ err_out:
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;
}