felipe                                   Wed, 21 Apr 2010 12:52:24 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=298253

Log:
- Fix mem. leak

Changed paths:
    U   php/php-src/branches/PHP_5_2/ext/mysqli/mysqli_api.c
    U   php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_api.c
    U   php/php-src/trunk/ext/mysqli/mysqli_api.c

Modified: php/php-src/branches/PHP_5_2/ext/mysqli/mysqli_api.c
===================================================================
--- php/php-src/branches/PHP_5_2/ext/mysqli/mysqli_api.c        2010-04-21 
12:13:49 UTC (rev 298252)
+++ php/php-src/branches/PHP_5_2/ext/mysqli/mysqli_api.c        2010-04-21 
12:52:24 UTC (rev 298253)
@@ -1302,12 +1302,12 @@
 {
        MY_MYSQL                *mysql;
        zval                    *mysql_link = NULL;
-       zval                    *mysql_value;
+       zval                    **mysql_value;
        long                    mysql_option;
        unsigned int    l_value;
        long                    ret;

-       if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), 
"Olz", &mysql_link, mysqli_link_class_entry, &mysql_option, &mysql_value) == 
FAILURE) {
+       if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), 
"OlZ", &mysql_link, mysqli_link_class_entry, &mysql_option, &mysql_value) == 
FAILURE) {
                return;
        }
        MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", 
MYSQLI_STATUS_INITIALIZED);
@@ -1318,13 +1318,13 @@
                }
        }

-       switch (Z_TYPE_PP(&mysql_value)) {
+       switch (Z_TYPE_PP(mysql_value)) {
                case IS_STRING:
-                       ret = mysql_options(mysql->mysql, mysql_option, 
Z_STRVAL_PP(&mysql_value));
+                       ret = mysql_options(mysql->mysql, mysql_option, 
Z_STRVAL_PP(mysql_value));
                        break;
                default:
-                       convert_to_long_ex(&mysql_value);
-                       l_value = Z_LVAL_PP(&mysql_value);
+                       convert_to_long_ex(mysql_value);
+                       l_value = Z_LVAL_PP(mysql_value);
                        ret = mysql_options(mysql->mysql, mysql_option, (char 
*)&l_value);
                        break;
        }

Modified: php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_api.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_api.c        2010-04-21 
12:13:49 UTC (rev 298252)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_api.c        2010-04-21 
12:52:24 UTC (rev 298253)
@@ -1663,13 +1663,13 @@
 {
        MY_MYSQL                *mysql;
        zval                    *mysql_link = NULL;
-       zval                    *mysql_value;
+       zval                    **mysql_value;
        long                    mysql_option;
        unsigned int    l_value;
        long                    ret;
        int                             expected_type;

-       if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), 
"Olz", &mysql_link, mysqli_link_class_entry, &mysql_option, &mysql_value) == 
FAILURE) {
+       if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), 
"OlZ", &mysql_link, mysqli_link_class_entry, &mysql_option, &mysql_value) == 
FAILURE) {
                return;
        }
        MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", 
MYSQLI_STATUS_INITIALIZED);
@@ -1680,13 +1680,13 @@
                }
        }
        expected_type = mysqli_options_get_option_zval_type(mysql_option);
-       if (expected_type != Z_TYPE_P(mysql_value)) {
+       if (expected_type != Z_TYPE_PP(mysql_value)) {
                switch (expected_type) {
                        case IS_STRING:
-                               convert_to_string_ex(&mysql_value);
+                               convert_to_string_ex(mysql_value);
                                break;
                        case IS_LONG:
-                               convert_to_long_ex(&mysql_value);
+                               convert_to_long_ex(mysql_value);
                                break;
                        default:
                                break;
@@ -1694,10 +1694,10 @@
        }
        switch (expected_type) {
                case IS_STRING:
-                       ret = mysql_options(mysql->mysql, mysql_option, 
Z_STRVAL_PP(&mysql_value));
+                       ret = mysql_options(mysql->mysql, mysql_option, 
Z_STRVAL_PP(mysql_value));
                        break;
                case IS_LONG:
-                       l_value = Z_LVAL_PP(&mysql_value);
+                       l_value = Z_LVAL_PP(mysql_value);
                        ret = mysql_options(mysql->mysql, mysql_option, (char 
*)&l_value);
                        break;
                default:

Modified: php/php-src/trunk/ext/mysqli/mysqli_api.c
===================================================================
--- php/php-src/trunk/ext/mysqli/mysqli_api.c   2010-04-21 12:13:49 UTC (rev 
298252)
+++ php/php-src/trunk/ext/mysqli/mysqli_api.c   2010-04-21 12:52:24 UTC (rev 
298253)
@@ -1663,13 +1663,13 @@
 {
        MY_MYSQL                *mysql;
        zval                    *mysql_link = NULL;
-       zval                    *mysql_value;
+       zval                    **mysql_value;
        long                    mysql_option;
        unsigned int    l_value;
        long                    ret;
        int                             expected_type;

-       if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), 
"Olz", &mysql_link, mysqli_link_class_entry, &mysql_option, &mysql_value) == 
FAILURE) {
+       if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), 
"OlZ", &mysql_link, mysqli_link_class_entry, &mysql_option, &mysql_value) == 
FAILURE) {
                return;
        }
        MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", 
MYSQLI_STATUS_INITIALIZED);
@@ -1680,13 +1680,13 @@
                }
        }
        expected_type = mysqli_options_get_option_zval_type(mysql_option);
-       if (expected_type != Z_TYPE_P(mysql_value)) {
+       if (expected_type != Z_TYPE_PP(mysql_value)) {
                switch (expected_type) {
                        case IS_STRING:
-                               convert_to_string_ex(&mysql_value);
+                               convert_to_string_ex(mysql_value);
                                break;
                        case IS_LONG:
-                               convert_to_long_ex(&mysql_value);
+                               convert_to_long_ex(mysql_value);
                                break;
                        default:
                                break;
@@ -1694,10 +1694,10 @@
        }
        switch (expected_type) {
                case IS_STRING:
-                       ret = mysql_options(mysql->mysql, mysql_option, 
Z_STRVAL_PP(&mysql_value));
+                       ret = mysql_options(mysql->mysql, mysql_option, 
Z_STRVAL_PP(mysql_value));
                        break;
                case IS_LONG:
-                       l_value = Z_LVAL_PP(&mysql_value);
+                       l_value = Z_LVAL_PP(mysql_value);
                        ret = mysql_options(mysql->mysql, mysql_option, (char 
*)&l_value);
                        break;
                default:

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to