From cca39b2ba46148abccb7e707e6baf1e84cd648c4 Mon Sep 17 00:00:00 2001 From: Tim van Dijen <tvdijen@gmail.com> Date: Tue, 5 May 2020 17:40:13 +0200 Subject: [PATCH] Fix PossiblyUndefinedArrayOffset (4x) --- tests/lib/SimpleSAML/Utils/HTTPTest.php | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/tests/lib/SimpleSAML/Utils/HTTPTest.php b/tests/lib/SimpleSAML/Utils/HTTPTest.php index 4ee68e5f9..b5959b525 100644 --- a/tests/lib/SimpleSAML/Utils/HTTPTest.php +++ b/tests/lib/SimpleSAML/Utils/HTTPTest.php @@ -8,6 +8,7 @@ use PHPUnit\Framework\TestCase; use SimpleSAML\Test\Utils\ClearStateTestCase; use SimpleSAML\Utils\HTTP; use SimpleSAML\Configuration; +use Webmozart\Assert\Assert; class HTTPTest extends ClearStateTestCase { @@ -19,10 +20,15 @@ class HTTPTest extends ClearStateTestCase */ private function setupEnvFromURL(string $url) { - $addr = parse_url($url); - $_SERVER['HTTP_HOST'] = $addr['host']; - $_SERVER['SERVER_NAME'] = $addr['host']; - if ($addr['scheme'] === 'https') { + $scheme = parse_url($url, PHP_URL_SCHEME); + $host = parse_url($url, PHP_URL_HOST); + $port = parse_url($url, PHP_URL_PORT); + $path = parse_url($url, PHP_URL_PATH); + $query = parse_url($url, PHP_URL_QUERY); + + $_SERVER['HTTP_HOST'] = $host; + $_SERVER['SERVER_NAME'] = $host; + if ($scheme === 'https') { $_SERVER['HTTPS'] = 'on'; $default_port = '443'; } else { @@ -30,10 +36,10 @@ class HTTPTest extends ClearStateTestCase $default_port = '80'; } $_SERVER['SERVER_PORT'] = $default_port; - if (isset($addr['port']) && strval($addr['port']) !== $default_port) { - $_SERVER['SERVER_PORT'] = strval($addr['port']); + if (isset($port) && strval($port) !== $default_port) { + $_SERVER['SERVER_PORT'] = strval($port); } - $_SERVER['REQUEST_URI'] = $addr['path'] . '?' . $addr['query']; + $_SERVER['REQUEST_URI'] = $path . '?' . $query; } -- GitLab