diff options
Diffstat (limited to 'lib/favicons.php')
| -rw-r--r-- | lib/favicons.php | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/favicons.php b/lib/favicons.php index 5df3682b8..bcb05f4f2 100644 --- a/lib/favicons.php +++ b/lib/favicons.php @@ -22,7 +22,7 @@ function isImgMime(string $content): bool { return $isImage; } -/** @param array<int,int|bool> $curlOptions */ +/** @param array<int,int|bool|string> $curlOptions */ function downloadHttp(string &$url, array $curlOptions = []): string { syslog(LOG_INFO, 'FreshRSS Favicon GET ' . $url); $url2 = checkUrl($url); @@ -61,7 +61,7 @@ function downloadHttp(string &$url, array $curlOptions = []): string { $url = $url2; //Possible redirect } } - return $info['http_code'] == 200 ? $response : ''; + return is_array($info) && $info['http_code'] == 200 ? $response : ''; } function searchFavicon(string &$url): string { @@ -103,6 +103,9 @@ function searchFavicon(string &$url): string { } $iri = $href->get_iri(); + if ($iri == false) { + return ''; + } $favicon = downloadHttp($iri, [CURLOPT_REFERER => $url]); if (isImgMime($favicon)) { return $favicon; @@ -115,7 +118,7 @@ function download_favicon(string $url, string $dest): bool { $url = trim($url); $favicon = searchFavicon($url); if ($favicon == '') { - $rootUrl = preg_replace('%^(https?://[^/]+).*$%i', '$1/', $url); + $rootUrl = preg_replace('%^(https?://[^/]+).*$%i', '$1/', $url) ?? $url; if ($rootUrl != $url) { $url = $rootUrl; $favicon = searchFavicon($url); |
