From 881cb456e2712e04d0a510619e06fa371567feaf Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Thu, 19 Jan 2023 08:44:06 -0500 Subject: [PATCH] Throw an exception when parse_url fails in HttpClient->request - Address part of https://github.com/friendica/friendica/issues/12011#issuecomment-1383147421 --- src/Network/HTTPClient/Client/HttpClient.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Network/HTTPClient/Client/HttpClient.php b/src/Network/HTTPClient/Client/HttpClient.php index 2ef704df1f..4ee0842150 100644 --- a/src/Network/HTTPClient/Client/HttpClient.php +++ b/src/Network/HTTPClient/Client/HttpClient.php @@ -69,6 +69,10 @@ class HttpClient implements ICanSendHttpRequests $this->logger->debug('Request start.', ['url' => $url, 'method' => $method]); $host = parse_url($url, PHP_URL_HOST); + if (empty($host)) { + throw new \InvalidArgumentException('Unable to retrieve the host in URL: ' . $url); + } + if(!filter_var($host, FILTER_VALIDATE_IP) && !@dns_get_record($host . '.', DNS_A + DNS_AAAA) && !gethostbyname($host)) { $this->logger->debug('URL cannot be resolved.', ['url' => $url, 'callstack' => System::callstack(20)]); $this->profiler->stopRecording();