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