tony2001 Mon Jan 19 09:52:14 2009 UTC
Modified files:
/php-src/ext/standard scanf.c
Log:
fix memleaks in sscanf()
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/scanf.c?r1=1.43&r2=1.44&diff_format=u
Index: php-src/ext/standard/scanf.c
diff -u php-src/ext/standard/scanf.c:1.43 php-src/ext/standard/scanf.c:1.44
--- php-src/ext/standard/scanf.c:1.43 Wed Dec 31 11:12:37 2008
+++ php-src/ext/standard/scanf.c Mon Jan 19 09:52:14 2009
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: scanf.c,v 1.43 2008/12/31 11:12:37 sebastian Exp $ */
+/* $Id: scanf.c,v 1.44 2009/01/19 09:52:14 tony2001 Exp $ */
/*
scanf.c --
@@ -1390,7 +1390,7 @@
__buf[0] = sch;
__buf[1] = '\0';;
current = args[objIndex++];
- convert_to_string_ex( current );
+ zval_dtor(*current);
ZVAL_STRINGL( *current, __buf,
1, 1);
} else {
add_index_stringl(*return_value, objIndex++, &sch, 1, 1);
@@ -1522,9 +1522,9 @@
break;
} else if (numVars) {
/* change passed value type
to string */
- current = args[objIndex++];
- convert_to_string( *current
);
- ZVAL_STRING( *current, buf,
1 );
+ current =
args[objIndex++];
+ zval_dtor(*current);
+ ZVAL_STRING( *current,
buf, 1 );
} else {
add_index_string(*return_value, objIndex++, buf, 1);
}
@@ -1533,7 +1533,7 @@
break;
} else if (numVars) {
current =
args[objIndex++];
- convert_to_long(
*current );
+ zval_dtor(*current);
Z_LVAL(**current) =
value;
} else {
add_index_long(*return_value, objIndex++, value);
@@ -1638,7 +1638,7 @@
break;
} else if (numVars) {
current = args[objIndex++];
- convert_to_double( *current );
+ zval_dtor(*current);
Z_DVAL_PP( current ) = dvalue;
} else {
add_index_double(
*return_value, objIndex++, dvalue );
@@ -2036,7 +2036,7 @@
__buf[0] = sch;
__buf[1] = '\0';;
current = args[objIndex++];
- convert_to_string_ex( current );
+ zval_dtor(*current);
ZVAL_STRINGL( *current, __buf,
1, 1);
} else {
add_index_stringl(*return_value, objIndex++, &sch, 1, 1);
@@ -2168,9 +2168,9 @@
break;
} else if (numVars) {
/* change passed value type
to string */
- current = args[objIndex++];
- convert_to_unicode( *current
);
- ZVAL_UNICODE( *current, buf,
1 );
+ current =
args[objIndex++];
+ zval_dtor(*current);
+ ZVAL_UNICODE( *current,
buf, 1 );
} else {
add_index_unicode(*return_value, objIndex++, buf, 1);
}
@@ -2179,7 +2179,7 @@
break;
} else if (numVars) {
current =
args[objIndex++];
- convert_to_long(
*current );
+ zval_dtor(*current);
Z_LVAL(**current) =
value;
} else {
add_index_long(*return_value, objIndex++, value);
@@ -2284,7 +2284,7 @@
break;
} else if (numVars) {
current = args[objIndex++];
- convert_to_double( *current );
+ zval_dtor(*current);
Z_DVAL_PP( current ) = dvalue;
} else {
add_index_double(
*return_value, objIndex++, dvalue );-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
