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