diff options
Diffstat (limited to 'ext/standard/tests/http/bug78719.phpt')
-rw-r--r-- | ext/standard/tests/http/bug78719.phpt | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/ext/standard/tests/http/bug78719.phpt b/ext/standard/tests/http/bug78719.phpt new file mode 100644 index 0000000000..b12bd3951e --- /dev/null +++ b/ext/standard/tests/http/bug78719.phpt @@ -0,0 +1,26 @@ +--TEST-- +Bug #78719 (http wrapper silently ignores long Location headers) +--SKIPIF-- +<?php require 'server.inc'; http_server_skipif('tcp://127.0.0.1:12342'); ?> +--INI-- +allow_url_fopen=1 +--FILE-- +<?php +require 'server.inc'; + +$url = str_repeat('*', 2000); +$responses = array( + "data://text/plain,HTTP/1.0 302 Ok\r\nLocation: $url\r\n\r\nBody", +); +$pid = http_server("tcp://127.0.0.1:12342", $responses, $output); + +$context = stream_context_create(['http' => ['follow_location' => 0]]); +$stream = fopen('http://127.0.0.1:12342/', 'r', false, $context); +var_dump(stream_get_contents($stream)); +var_dump(stream_get_meta_data($stream)['wrapper_data'][1] === "Location: $url"); + +http_server_kill($pid); +?> +--EXPECTF-- +string(4) "Body" +bool(true) |