From e036d0cf353b3972a7c33b3cac7cfc84154c7a17 Mon Sep 17 00:00:00 2001 From: reimar Date: Tue, 6 Sep 2005 21:00:57 +0000 Subject: [PATCH] memleak fixes when invalid http url specified. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16418 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/http.c | 2 +- libmpdemux/network.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libmpdemux/http.c b/libmpdemux/http.c index a1adc38803..73fa04a36c 100644 --- a/libmpdemux/http.c +++ b/libmpdemux/http.c @@ -875,7 +875,7 @@ static int open_s1(stream_t *stream,int mode, void* opts, int* file_format) { stream->streaming_ctrl->bandwidth = network_bandwidth; url = url_new(stream->url); stream->streaming_ctrl->url = check4proxies(url); - //url_free(url); + url_free(url); mp_msg(MSGT_OPEN, MSGL_INFO, "STREAM_HTTP(1), URL: %s\n", stream->url); seekable = http_streaming_start(stream, file_format); diff --git a/libmpdemux/network.c b/libmpdemux/network.c index eadbb3f6ab..40caa468d9 100644 --- a/libmpdemux/network.c +++ b/libmpdemux/network.c @@ -417,7 +417,7 @@ http_send_request( URL_t *url, off_t pos ) { http_set_field( http_hdr, "Connection: close"); http_add_basic_authentication( http_hdr, url->username, url->password ); if( http_build_request( http_hdr )==NULL ) { - return -1; + goto err_out; } if( proxy ) { @@ -429,19 +429,22 @@ http_send_request( URL_t *url, off_t pos ) { fd = connect2Server( server_url->hostname, server_url->port,1 ); } if( fd<0 ) { - return -1; + goto err_out; } mp_msg(MSGT_NETWORK,MSGL_DBG2,"Request: [%s]\n", http_hdr->buffer ); ret = send( fd, http_hdr->buffer, http_hdr->buffer_size, 0 ); if( ret!=(int)http_hdr->buffer_size ) { mp_msg(MSGT_NETWORK,MSGL_ERR,"Error while sending HTTP request: didn't sent all the request\n"); - return -1; + goto err_out; } http_free( http_hdr ); return fd; +err_out: + http_free(http_hdr); + return -1; } HTTP_header_t *