Re: [PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/curl/interface.c branches/PHP_5_4/ext/curl/interface.c trunk/ext/curl/interface.c
Thanks, I'll have a look :) Pierrick Le 2011-11-21 à 18:25, Christopher Jones a écrit : > > > On 11/20/2011 06:29 PM, Pierrick Charron wrote: >> pierrick Mon, 21 Nov 2011 02:29:24 + >> >> Revision: http://svn.php.net/viewvc?view=revision&revision=319593 >> >> Log: >> Fix memory leak >> >> Changed paths: >> U php/php-src/branches/PHP_5_3/ext/curl/interface.c >> U php/php-src/branches/PHP_5_4/ext/curl/interface.c >> U php/php-src/trunk/ext/curl/interface.c > > Hi Pierrick, > > If you're still chasing leaks, I am still seeing issues in two Curl tests: > > 004+ [Mon Nov 21 14:43:45 2011] Script: > '/home/cjones/phpsrc/php/php-src/branches/PHP_5_4/ext/curl/tests/curl_copy_handle_variation1.php' > 005+ > /home/cjones/phpsrc/php/php-src/branches/PHP_5_4/ext/curl/interface.c(197) : > Freeing 0x7F1A2F062FF8 (20 bytes), > script=/home/cjones/phpsrc/php/php-src/branches/PHP_5_4/ext/curl/tests/curl_copy_handle_variation1.php > 006+ === Total 1 memory leaks detected === > > and > > 007+ [Mon Nov 21 14:43:45 2011] Script: > '/home/cjones/phpsrc/php/php-src/branches/PHP_5_4/ext/curl/tests/curl_copy_handle_variation2.php' > 008+ > /home/cjones/phpsrc/php/php-src/branches/PHP_5_4/ext/curl/interface.c(197) : > Freeing 0x7FCEF68A58E0 (20 bytes), > script=/home/cjones/phpsrc/php/php-src/branches/PHP_5_4/ext/curl/tests/curl_copy_handle_variation2.php > 009+ Last leak repeated 1 time > 010+ === Total 2 memory leaks detected === > > This is with the latest svn that includes your two curl leak merges. > > Chris > > -- > Email: christopher.jo...@oracle.com > Tel: +1 650 506 8630 > Blog: http://blogs.oracle.com/opal/ > > -- > PHP CVS Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/curl/interface.c branches/PHP_5_4/ext/curl/interface.c trunk/ext/curl/interface.c
On 11/20/2011 06:29 PM, Pierrick Charron wrote: pierrick Mon, 21 Nov 2011 02:29:24 + Revision: http://svn.php.net/viewvc?view=revision&revision=319593 Log: Fix memory leak Changed paths: U php/php-src/branches/PHP_5_3/ext/curl/interface.c U php/php-src/branches/PHP_5_4/ext/curl/interface.c U php/php-src/trunk/ext/curl/interface.c Hi Pierrick, If you're still chasing leaks, I am still seeing issues in two Curl tests: 004+ [Mon Nov 21 14:43:45 2011] Script: '/home/cjones/phpsrc/php/php-src/branches/PHP_5_4/ext/curl/tests/curl_copy_handle_variation1.php' 005+ /home/cjones/phpsrc/php/php-src/branches/PHP_5_4/ext/curl/interface.c(197) : Freeing 0x7F1A2F062FF8 (20 bytes), script=/home/cjones/phpsrc/php/php-src/branches/PHP_5_4/ext/curl/tests/curl_copy_handle_variation1.php 006+ === Total 1 memory leaks detected === and 007+ [Mon Nov 21 14:43:45 2011] Script: '/home/cjones/phpsrc/php/php-src/branches/PHP_5_4/ext/curl/tests/curl_copy_handle_variation2.php' 008+ /home/cjones/phpsrc/php/php-src/branches/PHP_5_4/ext/curl/interface.c(197) : Freeing 0x7FCEF68A58E0 (20 bytes), script=/home/cjones/phpsrc/php/php-src/branches/PHP_5_4/ext/curl/tests/curl_copy_handle_variation2.php 009+ Last leak repeated 1 time 010+ === Total 2 memory leaks detected === This is with the latest svn that includes your two curl leak merges. Chris -- Email: christopher.jo...@oracle.com Tel: +1 650 506 8630 Blog: http://blogs.oracle.com/opal/ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/curl/interface.c branches/PHP_5_4/ext/curl/interface.c trunk/ext/curl/interface.c
pierrick Mon, 21 Nov 2011 02:29:24 + Revision: http://svn.php.net/viewvc?view=revision&revision=319593 Log: Fix memory leak Changed paths: U php/php-src/branches/PHP_5_3/ext/curl/interface.c U php/php-src/branches/PHP_5_4/ext/curl/interface.c U php/php-src/trunk/ext/curl/interface.c Modified: php/php-src/branches/PHP_5_3/ext/curl/interface.c === --- php/php-src/branches/PHP_5_3/ext/curl/interface.c 2011-11-21 02:10:57 UTC (rev 319592) +++ php/php-src/branches/PHP_5_3/ext/curl/interface.c 2011-11-21 02:29:24 UTC (rev 319593) @@ -1422,6 +1422,9 @@ (*ch)->header.str_len = 0; memset(&(*ch)->err, 0, sizeof((*ch)->err)); + (*ch)->handlers->write->stream = NULL; + (*ch)->handlers->write_header->stream = NULL; + (*ch)->handlers->read->stream = NULL; zend_llist_init(&(*ch)->to_free.str, sizeof(char *), (llist_dtor_func_t) curl_free_string, 0); zend_llist_init(&(*ch)->to_free.slist, sizeof(struct curl_slist), (llist_dtor_func_t) curl_free_slist, 0); @@ -1890,6 +1893,9 @@ switch (option) { case CURLOPT_FILE: if (((php_stream *) what)->mode[0] != 'r' || ((php_stream *) what)->mode[1] == '+') { + if (ch->handlers->write->stream) { + Z_DELREF_P(ch->handlers->write->stream); + } Z_ADDREF_PP(zvalue); ch->handlers->write->fp = fp; ch->handlers->write->method = PHP_CURL_FILE; @@ -1902,6 +1908,9 @@ break; case CURLOPT_WRITEHEADER: if (((php_stream *) what)->mode[0] != 'r' || ((php_stream *) what)->mode[1] == '+') { + if (ch->handlers->write_header->stream) { + Z_DELREF_P(ch->handlers->write_header->stream); + } Z_ADDREF_PP(zvalue); ch->handlers->write_header->fp = fp; ch->handlers->write_header->method = PHP_CURL_FILE; @@ -1913,6 +1922,9 @@ } break; case CURLOPT_INFILE: + if (ch->handlers->read->stream) { + Z_DELREF_P(ch->handlers->read->stream); + } Z_ADDREF_PP(zvalue); ch->handlers->read->fp = fp; ch->handlers->read->fd = Z_LVAL_PP(zvalue); Modified: php/php-src/branches/PHP_5_4/ext/curl/interface.c === --- php/php-src/branches/PHP_5_4/ext/curl/interface.c 2011-11-21 02:10:57 UTC (rev 319592) +++ php/php-src/branches/PHP_5_4/ext/curl/interface.c 2011-11-21 02:29:24 UTC (rev 319593) @@ -1420,6 +1420,9 @@ (*ch)->header.str_len = 0; memset(&(*ch)->err, 0, sizeof((*ch)->err)); + (*ch)->handlers->write->stream = NULL; + (*ch)->handlers->write_header->stream = NULL; + (*ch)->handlers->read->stream = NULL; zend_llist_init(&(*ch)->to_free.str, sizeof(char *), (llist_dtor_func_t) curl_free_string, 0); zend_llist_init(&(*ch)->to_free.slist, sizeof(struct curl_slist), (llist_dtor_func_t) curl_free_slist, 0); @@ -1886,6 +1889,9 @@ switch (option) { case CURLOPT_FILE: if (((php_stream *) what)->mode[0] != 'r' || ((php_stream *) what)->mode[1] == '+') { + if (ch->handlers->write->stream) { + Z_DELREF_P(ch->handlers->write->stream); + } Z_ADDREF_PP(zvalue); ch->handlers->write->fp = fp; ch->handlers->write->method = PHP_CURL_FILE; @@ -1898,6 +1904,9 @@ break; case CURLOPT_WRITEHEADER: if (((php_stream *) what)->mode[0] != 'r' || ((php_stream *) what)->mode[1] == '+') { +
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/curl/interface.c branches/PHP_5_4/ext/curl/interface.c trunk/ext/curl/interface.c
pajoye Thu, 28 Jul 2011 10:31:34 + Revision: http://svn.php.net/viewvc?view=revision&revision=313826 Log: - Fix #55301 (curl part) check if malloc succeded Bug: https://bugs.php.net/55301 (error getting bug information) Changed paths: U php/php-src/branches/PHP_5_3/ext/curl/interface.c U php/php-src/branches/PHP_5_4/ext/curl/interface.c U php/php-src/trunk/ext/curl/interface.c Modified: php/php-src/branches/PHP_5_3/ext/curl/interface.c === --- php/php-src/branches/PHP_5_3/ext/curl/interface.c 2011-07-28 10:27:23 UTC (rev 313825) +++ php/php-src/branches/PHP_5_3/ext/curl/interface.c 2011-07-28 10:31:34 UTC (rev 313826) @@ -821,6 +821,9 @@ int i, c = CRYPTO_num_locks(); php_curl_openssl_tsl = malloc(c * sizeof(MUTEX_T)); + if (!php_curl_openssl_tsl) { + return FAILURE; + } for (i = 0; i < c; ++i) { php_curl_openssl_tsl[i] = tsrm_mutex_alloc(); Modified: php/php-src/branches/PHP_5_4/ext/curl/interface.c === --- php/php-src/branches/PHP_5_4/ext/curl/interface.c 2011-07-28 10:27:23 UTC (rev 313825) +++ php/php-src/branches/PHP_5_4/ext/curl/interface.c 2011-07-28 10:31:34 UTC (rev 313826) @@ -819,6 +819,9 @@ int i, c = CRYPTO_num_locks(); php_curl_openssl_tsl = malloc(c * sizeof(MUTEX_T)); + if (!php_curl_openssl_tsl) { + return FAILURE; + } for (i = 0; i < c; ++i) { php_curl_openssl_tsl[i] = tsrm_mutex_alloc(); Modified: php/php-src/trunk/ext/curl/interface.c === --- php/php-src/trunk/ext/curl/interface.c 2011-07-28 10:27:23 UTC (rev 313825) +++ php/php-src/trunk/ext/curl/interface.c 2011-07-28 10:31:34 UTC (rev 313826) @@ -819,6 +819,9 @@ int i, c = CRYPTO_num_locks(); php_curl_openssl_tsl = malloc(c * sizeof(MUTEX_T)); + if (!php_curl_openssl_tsl) { + return FAILURE; + } for (i = 0; i < c; ++i) { php_curl_openssl_tsl[i] = tsrm_mutex_alloc(); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php