From fe61dc18233a46f521bbf4884fc25f3e78e1c684 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 10 Jul 2013 20:18:20 +0400 Subject: [PATCH] geturl: limit amount of redirects --- include/functions.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/functions.php b/include/functions.php index d71f81ac4..8a8f7b5d0 100644 --- a/include/functions.php +++ b/include/functions.php @@ -4090,7 +4090,9 @@ return in_array($interface, class_implements($class)); } - function geturl($url){ + function geturl($url, $depth = 0){ + + if ($depth == 20) return $url; if (!function_exists('curl_init')) return user_error('CURL Must be installed for geturl function to work. Ask your host to enable it or uncomment extension=php_curl.dll in php.ini', E_USER_ERROR); @@ -4129,7 +4131,7 @@ preg_match("/(Location:|URI:)[^(\n)]*/", $header, $matches); $url = trim(str_replace($matches[1],"",$matches[0])); $url_parsed = parse_url($url); - return (isset($url_parsed))? geturl($url):''; + return (isset($url_parsed))? geturl($url, $depth + 1):''; } global $fetch_last_error;