????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.149.253.111 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/php-5.6.22/ext/standard/tests/array/ |
Upload File : |
--TEST-- Bug #25708 (extract($GLOBALS, EXTR_REFS) mangles $GLOBALS) --FILE-- <?php function foo($ref, $alt) { unset($GLOBALS['a']); unset($GLOBALS['b']); $GLOBALS['a'] = 1; $GLOBALS['b'] = 2; $org_a = $GLOBALS['a']; $org_b = $GLOBALS['b']; if ($ref) { global $a, $b; } else { /* zval temp_var(NULL); // refcount = 1 * a = temp_var[x] // refcount = 2 */ $a = NULL; $b = NULL; } debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b']); echo "--\n"; if ($alt) { $a = &$GLOBALS['a']; $b = &$GLOBALS['b']; } else { extract($GLOBALS, EXTR_REFS); } debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b']); echo "--\n"; $a = &$GLOBALS['a']; $b = &$GLOBALS['b']; debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b']); echo "--\n"; $GLOBALS['b'] = 3; debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b']); echo "--\n"; $a = 4; debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b']); echo "--\n"; $c = $b; debug_zval_dump($b, $GLOBALS['b'], $c); echo "--\n"; $b = 'x'; debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b'], $c); echo "--\n"; debug_zval_dump($org_a, $org_b); echo "----"; if ($ref) echo 'r'; if ($alt) echo 'a'; echo "\n"; } $a = 'ok'; $b = 'ok'; $_a = $a; $_b = $b; foo(false, true); foo(true, true); foo(false, false); foo(true, false); debug_zval_dump($_a, $_b); ?> --EXPECT-- NULL refcount(2) NULL refcount(2) long(1) refcount(3) long(2) refcount(3) -- long(1) refcount(1) long(2) refcount(1) long(1) refcount(1) long(2) refcount(1) -- long(1) refcount(1) long(2) refcount(1) long(1) refcount(1) long(2) refcount(1) -- long(1) refcount(1) long(3) refcount(1) long(1) refcount(1) long(3) refcount(1) -- long(4) refcount(1) long(3) refcount(1) long(4) refcount(1) long(3) refcount(1) -- long(3) refcount(1) long(3) refcount(1) long(3) refcount(2) -- long(4) refcount(1) string(1) "x" refcount(1) long(4) refcount(1) string(1) "x" refcount(1) long(3) refcount(2) -- long(1) refcount(2) long(2) refcount(2) ----a long(1) refcount(1) long(2) refcount(1) long(1) refcount(1) long(2) refcount(1) -- long(1) refcount(1) long(2) refcount(1) long(1) refcount(1) long(2) refcount(1) -- long(1) refcount(1) long(2) refcount(1) long(1) refcount(1) long(2) refcount(1) -- long(1) refcount(1) long(3) refcount(1) long(1) refcount(1) long(3) refcount(1) -- long(4) refcount(1) long(3) refcount(1) long(4) refcount(1) long(3) refcount(1) -- long(3) refcount(1) long(3) refcount(1) long(3) refcount(2) -- long(4) refcount(1) string(1) "x" refcount(1) long(4) refcount(1) string(1) "x" refcount(1) long(3) refcount(2) -- long(1) refcount(2) long(2) refcount(2) ----ra NULL refcount(2) NULL refcount(2) long(1) refcount(3) long(2) refcount(3) -- long(1) refcount(1) long(2) refcount(1) long(1) refcount(1) long(2) refcount(1) -- long(1) refcount(1) long(2) refcount(1) long(1) refcount(1) long(2) refcount(1) -- long(1) refcount(1) long(3) refcount(1) long(1) refcount(1) long(3) refcount(1) -- long(4) refcount(1) long(3) refcount(1) long(4) refcount(1) long(3) refcount(1) -- long(3) refcount(1) long(3) refcount(1) long(3) refcount(2) -- long(4) refcount(1) string(1) "x" refcount(1) long(4) refcount(1) string(1) "x" refcount(1) long(3) refcount(2) -- long(1) refcount(2) long(2) refcount(2) ---- long(1) refcount(1) long(2) refcount(1) long(1) refcount(1) long(2) refcount(1) -- long(1) refcount(1) long(2) refcount(1) long(1) refcount(1) long(2) refcount(1) -- long(1) refcount(1) long(2) refcount(1) long(1) refcount(1) long(2) refcount(1) -- long(1) refcount(1) long(3) refcount(1) long(1) refcount(1) long(3) refcount(1) -- long(4) refcount(1) long(3) refcount(1) long(4) refcount(1) long(3) refcount(1) -- long(3) refcount(1) long(3) refcount(1) long(3) refcount(2) -- long(4) refcount(1) string(1) "x" refcount(1) long(4) refcount(1) string(1) "x" refcount(1) long(3) refcount(2) -- long(1) refcount(2) long(2) refcount(2) ----r string(2) "ok" refcount(2) string(2) "ok" refcount(2)