From 5cd4941c55d543ecae0a4fdc2fe165921d1dca1b Mon Sep 17 00:00:00 2001 From: RMcGirr83 Date: Fri, 27 Feb 2015 10:48:11 -0500 Subject: [PATCH] [ticket/13477] Update file cache driver for filenames Replace slashes on file name PHPBB3-13477 --- phpBB/phpbb/cache/driver/file.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/phpBB/phpbb/cache/driver/file.php b/phpBB/phpbb/cache/driver/file.php index fd5bce4515..bc8da19401 100644 --- a/phpBB/phpbb/cache/driver/file.php +++ b/phpBB/phpbb/cache/driver/file.php @@ -279,6 +279,7 @@ class file extends \phpbb\cache\driver\base if ($var_name[0] == '_') { global $phpEx; + $var_name = $this->replace_slashes($var_name); return file_exists($this->cache_dir . 'data' . $var_name . ".$phpEx"); } else @@ -334,6 +335,7 @@ class file extends \phpbb\cache\driver\base { global $phpEx; + $filename = $this->replace_slashes($filename); $file = "{$this->cache_dir}$filename.$phpEx"; $type = substr($filename, 0, strpos($filename, '_')); @@ -516,6 +518,7 @@ class file extends \phpbb\cache\driver\base { global $phpEx; + $filename = $this->replace_slashes($filename); $file = "{$this->cache_dir}$filename.$phpEx"; $lock = new \phpbb\lock\flock($file); @@ -584,4 +587,15 @@ class file extends \phpbb\cache\driver\base return $return_value; } + + /** + * Replace slashes in the file name + * + * @param string $name filename + * @return string the corrected name + */ + function replace_slashes($name) + { + return str_replace('/', '-', $name); + } }