1--TEST-- 2apache_request_headers() stack overflow. 3--INI-- 4default_charset="UTF-8" 5--SKIPIF-- 6<?php 7include "skipif.inc"; 8?> 9--FILE-- 10<?php 11include "include.inc"; 12 13$php = get_cgi_path(); 14reset_env_vars(); 15 16$file = dirname(__FILE__)."/012.test.php"; 17 18file_put_contents($file, '<?php print_r(apache_request_headers()); ?>'); 19 20passthru("$php -n $file"); 21 22$names = array('HTTP_X_TEST', 'HTTP_X__TEST', 'HTTP_X_'); 23foreach ($names as $name) { 24 putenv($name."=".str_repeat("A", 256)); 25 passthru("$php -n -q $file"); 26 putenv($name); 27} 28unlink($file); 29 30echo "Done\n"; 31?> 32--EXPECTF-- 33X-Powered-By: PHP/%s 34Content-type: text/%s 35 36Array 37( 38) 39Array 40( 41 [X-Test] => AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 42) 43Array 44( 45 [X-_test] => AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 46) 47Array 48( 49 [X-] => AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 50) 51Done 52