moriyoshi Sun Jan 19 12:23:49 2003 EDT Modified files: /php4/ext/standard scanf.c Log: Improved the patched part to prevent further potential bugs Index: php4/ext/standard/scanf.c diff -u php4/ext/standard/scanf.c:1.22 php4/ext/standard/scanf.c:1.23 --- php4/ext/standard/scanf.c:1.22 Sat Jan 18 14:26:01 2003 +++ php4/ext/standard/scanf.c Sun Jan 19 12:23:48 2003 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: scanf.c,v 1.22 2003/01/18 19:26:01 moriyoshi Exp $ */ +/* $Id: scanf.c,v 1.23 2003/01/19 17:23:48 moriyoshi Exp $ */ /* scanf.c -- @@ -762,9 +762,14 @@ case 'n': if (!(flags & SCAN_SUPPRESS)) { if (numVars) { + zend_uint refcount; + current = args[objIndex++]; + refcount = (*current)->refcount; zval_dtor( *current ); ZVAL_LONG( *current, (long)(string - baseString) ); + (*current)->refcount = refcount; + (*current)->is_ref = 1; } else { add_index_long(*return_value, objIndex++, string - baseString); } @@ -882,9 +887,14 @@ } if (!(flags & SCAN_SUPPRESS)) { if (numVars) { + zend_uint refcount; + current = args[objIndex++]; + refcount = (*current)->refcount; zval_dtor( *current ); ZVAL_STRINGL( *current, string, end-string, 1); + (*current)->refcount = refcount; + (*current)->is_ref = 1; } else { add_index_stringl( *return_value, objIndex++, string, end-string, 1); }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php