]> granicus.if.org Git - php/commitdiff
Fixed reference counting
authorDmitry Stogov <dmitry@zend.com>
Wed, 9 Apr 2014 12:48:03 +0000 (16:48 +0400)
committerDmitry Stogov <dmitry@zend.com>
Wed, 9 Apr 2014 12:48:03 +0000 (16:48 +0400)
ext/mysql/php_mysql.c

index 02e950a328d8d1c42c8b937ddc1dfc8b7173fd07..95d290e333cd30bd321f1975d7d0a6d83abf5177 100644 (file)
@@ -1059,9 +1059,11 @@ static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
                new_index_ptr.type = le_index_ptr;
                
                if (zend_hash_update_mem(&EG(regular_list), hashed_details, &new_index_ptr, sizeof(zend_resource)) == NULL) {
+                       zval_ptr_dtor(return_value);
                        STR_RELEASE(hashed_details);
                        MYSQL_DO_CONNECT_RETURN_FALSE();
                }
+               Z_ADDREF_P(return_value);
                MySG(num_links)++;
        }