Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

--TEST-- proc_open() with > 16 pipes --FILE-- <?php for ($i = 3; $i<= 30; $i++) { $sp..

Decoded Output download

--TEST--
proc_open() with > 16 pipes
--FILE--
<?php

for ($i = 3; $i<= 30; $i++) {
    $spec[$i] = array('pipe', 'w');
}

$php = getenv("TEST_PHP_EXECUTABLE");
$callee = __DIR__ . "/proc_open_pipes_sleep.inc";
proc_open("$php -n $callee", $spec, $pipes);

var_dump(count($spec));
var_dump($pipes);

?>
--EXPECTF--
int(28)
array(28) {
  [3]=>
  resource(%d) of type (Unknown)
  [4]=>
  resource(%d) of type (Unknown)
  [5]=>
  resource(%d) of type (Unknown)
  [6]=>
  resource(%d) of type (Unknown)
  [7]=>
  resource(%d) of type (Unknown)
  [8]=>
  resource(%d) of type (Unknown)
  [9]=>
  resource(%d) of type (Unknown)
  [10]=>
  resource(%d) of type (Unknown)
  [11]=>
  resource(%d) of type (Unknown)
  [12]=>
  resource(%d) of type (Unknown)
  [13]=>
  resource(%d) of type (Unknown)
  [14]=>
  resource(%d) of type (Unknown)
  [15]=>
  resource(%d) of type (Unknown)
  [16]=>
  resource(%d) of type (Unknown)
  [17]=>
  resource(%d) of type (Unknown)
  [18]=>
  resource(%d) of type (Unknown)
  [19]=>
  resource(%d) of type (Unknown)
  [20]=>
  resource(%d) of type (Unknown)
  [21]=>
  resource(%d) of type (Unknown)
  [22]=>
  resource(%d) of type (Unknown)
  [23]=>
  resource(%d) of type (Unknown)
  [24]=>
  resource(%d) of type (Unknown)
  [25]=>
  resource(%d) of type (Unknown)
  [26]=>
  resource(%d) of type (Unknown)
  [27]=>
  resource(%d) of type (Unknown)
  [28]=>
  resource(%d) of type (Unknown)
  [29]=>
  resource(%d) of type (Unknown)
  [30]=>
  resource(%d) of type (Unknown)
}

Did this file decode correctly?

Original Code

--TEST--
proc_open() with > 16 pipes
--FILE--
<?php

for ($i = 3; $i<= 30; $i++) {
    $spec[$i] = array('pipe', 'w');
}

$php = getenv("TEST_PHP_EXECUTABLE");
$callee = __DIR__ . "/proc_open_pipes_sleep.inc";
proc_open("$php -n $callee", $spec, $pipes);

var_dump(count($spec));
var_dump($pipes);

?>
--EXPECTF--
int(28)
array(28) {
  [3]=>
  resource(%d) of type (Unknown)
  [4]=>
  resource(%d) of type (Unknown)
  [5]=>
  resource(%d) of type (Unknown)
  [6]=>
  resource(%d) of type (Unknown)
  [7]=>
  resource(%d) of type (Unknown)
  [8]=>
  resource(%d) of type (Unknown)
  [9]=>
  resource(%d) of type (Unknown)
  [10]=>
  resource(%d) of type (Unknown)
  [11]=>
  resource(%d) of type (Unknown)
  [12]=>
  resource(%d) of type (Unknown)
  [13]=>
  resource(%d) of type (Unknown)
  [14]=>
  resource(%d) of type (Unknown)
  [15]=>
  resource(%d) of type (Unknown)
  [16]=>
  resource(%d) of type (Unknown)
  [17]=>
  resource(%d) of type (Unknown)
  [18]=>
  resource(%d) of type (Unknown)
  [19]=>
  resource(%d) of type (Unknown)
  [20]=>
  resource(%d) of type (Unknown)
  [21]=>
  resource(%d) of type (Unknown)
  [22]=>
  resource(%d) of type (Unknown)
  [23]=>
  resource(%d) of type (Unknown)
  [24]=>
  resource(%d) of type (Unknown)
  [25]=>
  resource(%d) of type (Unknown)
  [26]=>
  resource(%d) of type (Unknown)
  [27]=>
  resource(%d) of type (Unknown)
  [28]=>
  resource(%d) of type (Unknown)
  [29]=>
  resource(%d) of type (Unknown)
  [30]=>
  resource(%d) of type (Unknown)
}

Function Calls

getenv 1

Variables

$i 31
$spec [{'key': 3, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 4, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 5, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 6, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 7, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 8, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 9, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 10, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 11, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 12, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 13, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 14, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 15, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 16, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 17, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 18, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 19, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 20, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 21, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 22, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 23, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 24, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 25, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 26, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 27, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 28, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 29, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}, {'key': 30, 'value': [{'key': 0, 'value': 'pipe'}, {'key': 1, 'value': 'w'}]}]

Stats

MD5 f98d43520c7ba3511b766a0a59c6b0a6
Eval Count 0
Decode Time 146 ms