cvs: php-src /ext/standard scanf.c
| From: | Antony Dovgal | Date: | Mon, 19 Jan 2009 09:52:14 +0000 |
| Subject: | cvs: php-src /ext/standard scanf.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-55742@lists.php.net to get a copy of this message | ||
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 );