From 36ccf7c6d7ee7d0ee4190c0beecb864c1524f7a8 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 1 Mar 2009 13:37:53 +0000 Subject: Fix infinite loop in message handler if cache directory is not writable. (Bug #38675) - newer PHP versions handle this quite fine, a Fatal Error is returned in this case git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@9353 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acm/acm_file.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'phpBB/includes/acm/acm_file.php') diff --git a/phpBB/includes/acm/acm_file.php b/phpBB/includes/acm/acm_file.php index d0cb9bd4a7..22c7ba8bda 100644 --- a/phpBB/includes/acm/acm_file.php +++ b/phpBB/includes/acm/acm_file.php @@ -106,10 +106,13 @@ class acm // Now, this occurred how often? ... phew, just tell the user then... if (!@is_writable($this->cache_dir)) { - trigger_error($this->cache_dir . ' is NOT writable.', E_USER_ERROR); + // We need to use die() here, because else we may encounter an infinite loop (the message handler calls $cache->unload()) + die($this->cache_dir . ' is NOT writable.'); + exit; } - trigger_error('Not able to open ' . $this->cache_dir . 'data_global.' . $phpEx, E_USER_ERROR); + die('Not able to open ' . $this->cache_dir . 'data_global.' . $phpEx); + exit; } $this->is_modified = false; -- cgit v1.2.1