srinatar Tue, 05 Jan 2010 19:25:23 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=293152
Log: - Addressing minor leak noticed while addressing bug #48590 Bug: http://bugs.php.net/48590 (Closed) SOAP Client (redirect loop) Changed paths: U php/php-src/branches/PHP_5_2/ext/soap/php_http.c U php/php-src/branches/PHP_5_3/ext/soap/php_http.c U php/php-src/trunk/ext/soap/php_http.c Modified: php/php-src/branches/PHP_5_2/ext/soap/php_http.c =================================================================== --- php/php-src/branches/PHP_5_2/ext/soap/php_http.c 2010-01-05 17:00:02 UTC (rev 293151) +++ php/php-src/branches/PHP_5_2/ext/soap/php_http.c 2010-01-05 19:25:23 UTC (rev 293152) @@ -709,18 +709,17 @@ smart_str_0(&soap_headers); err = php_stream_write(stream, soap_headers.c, soap_headers.len); + smart_str_free(&soap_headers); if (err != soap_headers.len) { if (request != buf) {efree(request);} - smart_str_free(&soap_headers); php_stream_close(stream); zend_hash_del(Z_OBJPROP_P(this_ptr), "httpurl", sizeof("httpurl")); zend_hash_del(Z_OBJPROP_P(this_ptr), "httpsocket", sizeof("httpsocket")); zend_hash_del(Z_OBJPROP_P(this_ptr), "_use_proxy", sizeof("_use_proxy")); add_soap_fault(this_ptr, "HTTP", "Failed Sending HTTP SOAP request", NULL, NULL TSRMLS_CC); + smart_str_free(&soap_headers_z); return FALSE; } - smart_str_free(&soap_headers); - } else { add_soap_fault(this_ptr, "HTTP", "Failed to create stream??", NULL, NULL TSRMLS_CC); smart_str_free(&soap_headers_z); @@ -969,8 +968,8 @@ phpurl = new_url; if (--redirect_max < 1) { - smart_str_free(&soap_headers_z); add_soap_fault(this_ptr, "HTTP", "Redirection limit reached, aborting", NULL, NULL TSRMLS_CC); + smart_str_free(&soap_headers_z); return FALSE; } Modified: php/php-src/branches/PHP_5_3/ext/soap/php_http.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/soap/php_http.c 2010-01-05 17:00:02 UTC (rev 293151) +++ php/php-src/branches/PHP_5_3/ext/soap/php_http.c 2010-01-05 19:25:23 UTC (rev 293152) @@ -759,18 +759,17 @@ smart_str_0(&soap_headers); err = php_stream_write(stream, soap_headers.c, soap_headers.len); + smart_str_free(&soap_headers); if (err != soap_headers.len) { if (request != buf) {efree(request);} - smart_str_free(&soap_headers); php_stream_close(stream); zend_hash_del(Z_OBJPROP_P(this_ptr), "httpurl", sizeof("httpurl")); zend_hash_del(Z_OBJPROP_P(this_ptr), "httpsocket", sizeof("httpsocket")); zend_hash_del(Z_OBJPROP_P(this_ptr), "_use_proxy", sizeof("_use_proxy")); add_soap_fault(this_ptr, "HTTP", "Failed Sending HTTP SOAP request", NULL, NULL TSRMLS_CC); + smart_str_free(&soap_headers_z); return FALSE; } - smart_str_free(&soap_headers); - } else { add_soap_fault(this_ptr, "HTTP", "Failed to create stream??", NULL, NULL TSRMLS_CC); smart_str_free(&soap_headers_z); @@ -1022,8 +1021,8 @@ phpurl = new_url; if (--redirect_max < 1) { - smart_str_free(&soap_headers_z); add_soap_fault(this_ptr, "HTTP", "Redirection limit reached, aborting", NULL, NULL TSRMLS_CC); + smart_str_free(&soap_headers_z); return FALSE; } Modified: php/php-src/trunk/ext/soap/php_http.c =================================================================== --- php/php-src/trunk/ext/soap/php_http.c 2010-01-05 17:00:02 UTC (rev 293151) +++ php/php-src/trunk/ext/soap/php_http.c 2010-01-05 19:25:23 UTC (rev 293152) @@ -764,9 +764,9 @@ smart_str_0(&soap_headers); err = php_stream_write(stream, soap_headers.c, soap_headers.len); + smart_str_free(&soap_headers); if (err != soap_headers.len) { if (request != buf) {efree(request);} - smart_str_free(&soap_headers); php_stream_close(stream); if (client->url) { php_url_free(client->url); @@ -778,8 +778,6 @@ smart_str_free(&soap_headers_z); return FALSE; } - smart_str_free(&soap_headers); - } else { add_soap_fault(this_ptr, "HTTP", "Failed to create stream??", NULL, NULL TSRMLS_CC); smart_str_free(&soap_headers_z); @@ -1034,8 +1032,8 @@ phpurl = new_url; if (--redirect_max < 1) { - smart_str_free(&soap_headers_z); add_soap_fault(this_ptr, "HTTP", "Redirection limit reached, aborting", NULL, NULL TSRMLS_CC); + smart_str_free(&soap_headers_z); return FALSE; }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
