From: Scott MacVicar Date: Tue, 9 Jun 2009 01:00:47 +0000 (+0000) Subject: MFH #46019 - Memory leak when Mysqli::init() is called multiple times. X-Git-Tag: php-5.2.10RC2~12 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=813dd91af8a746d09a81537324c32c2f30fe6baf;p=php MFH #46019 - Memory leak when Mysqli::init() is called multiple times. --- diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c index aed07fc5f1..7cd6f32ddc 100644 --- a/ext/mysqli/mysqli_api.c +++ b/ext/mysqli/mysqli_api.c @@ -1099,7 +1099,13 @@ PHP_FUNCTION(mysqli_info) 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);