scottmac Tue Jun 9 01:00:47 2009 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/mysqli mysqli_api.c Log: MFH #46019 - Memory leak when Mysqli::init() is called multiple times. http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_api.c?r1=1.118.2.22.2.22&r2=1.118.2.22.2.23&diff_format=u Index: php-src/ext/mysqli/mysqli_api.c diff -u php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.22 php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.23 --- php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.22 Wed Dec 31 11:17:40 2008 +++ php-src/ext/mysqli/mysqli_api.c Tue Jun 9 01:00:47 2009 @@ -15,7 +15,7 @@ | Author: Georg Richter <ge...@php.net> | +----------------------------------------------------------------------+ - $Id: mysqli_api.c,v 1.118.2.22.2.22 2008/12/31 11:17:40 sebastian Exp $ + $Id: mysqli_api.c,v 1.118.2.22.2.23 2009/06/09 01:00:47 scottmac Exp $ */ #ifdef HAVE_CONFIG_H @@ -1099,7 +1099,13 @@ PHP_FUNCTION(mysqli_init) { MYSQLI_RESOURCE *mysqli_resource; - MY_MYSQL *mysql = (MY_MYSQL *)ecalloc(1, sizeof(MY_MYSQL)); + MY_MYSQL *mysql; + + if (getThis() && ((mysqli_object *) zend_object_store_get_object(getThis() TSRMLS_CC))->ptr) { + return; + } + + mysql = (MY_MYSQL *)ecalloc(1, sizeof(MY_MYSQL)); if (!(mysql->mysql = mysql_init(NULL))) { efree(mysql);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php