summaryrefslogtreecommitdiffstats
path: root/libmpdemux/network.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-09-06 21:00:57 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-09-06 21:00:57 +0000
commite036d0cf353b3972a7c33b3cac7cfc84154c7a17 (patch)
treecd86825d8a17038e6b7c25af642fd424a3b63401 /libmpdemux/network.c
parente72392399bf2ba117d13034a272cbe542b2cbc83 (diff)
downloadmpv-e036d0cf353b3972a7c33b3cac7cfc84154c7a17.tar.bz2
mpv-e036d0cf353b3972a7c33b3cac7cfc84154c7a17.tar.xz
memleak fixes when invalid http url specified.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16418 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/network.c')
-rw-r--r--libmpdemux/network.c9
1 files changed, 6 insertions, 3 deletions
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 *