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

Reply via email to