# HG changeset patch # User bertrand # Date 1035070131 0 # Node ID 72a156e6d4823aad744c2397cac94cc48e457974 # Parent 502f6eff2c1a70fa5fbe49433d3c4d5b5d4a9d0c Fixed more potential mem leaks and use the url_free method to free all the member pointers of the url. diff -r 502f6eff2c1a -r 72a156e6d482 libmpdemux/url.c --- a/libmpdemux/url.c Sat Oct 19 22:06:46 2002 +0000 +++ b/libmpdemux/url.c Sat Oct 19 23:28:51 2002 +0000 @@ -33,7 +33,7 @@ Curl->url = strdup(url); if( Curl->url==NULL ) { mp_msg(MSGT_NETWORK,MSGL_FATAL,"Memory allocation failed!\n"); - free(Curl); + url_free(Curl); return NULL; } @@ -41,7 +41,7 @@ ptr1 = strstr(url, "://"); if( ptr1==NULL ) { mp_msg(MSGT_NETWORK,MSGL_V,"Not an URL!\n"); - free(Curl->url);free(Curl); + url_free(Curl); return NULL; } pos1 = ptr1-url; @@ -49,7 +49,7 @@ strncpy(Curl->protocol, url, pos1); if( Curl->protocol==NULL ) { mp_msg(MSGT_NETWORK,MSGL_FATAL,"Memory allocation failed!\n"); - free(Curl->protocol);free(Curl->url);free(Curl); + url_free(Curl); return NULL; } Curl->protocol[pos1] = '\0'; @@ -71,6 +71,7 @@ Curl->username = (char*)malloc(len+1); if( Curl->username==NULL ) { mp_msg(MSGT_NETWORK,MSGL_FATAL,"Memory allocation failed!\n"); + url_free(Curl); return NULL; } strncpy(Curl->username, ptr1, len); @@ -84,6 +85,7 @@ Curl->password = (char*)malloc(len2+1); if( Curl->password==NULL ) { mp_msg(MSGT_NETWORK,MSGL_FATAL,"Memory allocation failed!\n"); + url_free(Curl); return NULL; } strncpy( Curl->password, ptr3+1, len2); @@ -120,6 +122,7 @@ Curl->hostname = (char*)malloc(pos2-pos1+1); if( Curl->hostname==NULL ) { mp_msg(MSGT_NETWORK,MSGL_FATAL,"Memory allocation failed!\n"); + url_free(Curl); return NULL; } strncpy(Curl->hostname, ptr1, pos2-pos1); @@ -135,6 +138,7 @@ Curl->file = strdup(ptr2); if( Curl->file==NULL ) { mp_msg(MSGT_NETWORK,MSGL_FATAL,"Memory allocation failed!\n"); + url_free(Curl); return NULL; } } @@ -144,6 +148,7 @@ Curl->file = (char*)malloc(2); if( Curl->file==NULL ) { mp_msg(MSGT_NETWORK,MSGL_FATAL,"Memory allocation failed!\n"); + url_free(Curl); return NULL; } strcpy(Curl->file, "/");