From 813dd91af8a746d09a81537324c32c2f30fe6baf Mon Sep 17 00:00:00 2001 From: Scott MacVicar Date: Tue, 9 Jun 2009 01:00:47 +0000 Subject: [PATCH] MFH #46019 - Memory leak when Mysqli::init() is called multiple times. --- ext/mysqli/mysqli_api.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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); -- 2.50.1