From dd06cd13fa1cb96fada36d1fa11c8d66fbcdd49b Mon Sep 17 00:00:00 2001 From: Samuel Georges Date: Sat, 27 Aug 2016 13:27:57 +1000 Subject: [PATCH] Handle cases where directory is not writable --- modules/cms/classes/CodeParser.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/cms/classes/CodeParser.php b/modules/cms/classes/CodeParser.php index a2b6434ac..6d873d8de 100644 --- a/modules/cms/classes/CodeParser.php +++ b/modules/cms/classes/CodeParser.php @@ -317,6 +317,10 @@ class CodeParser $count = 0; $dir = dirname($path); + if (is_dir($dir) && !is_writable($dir)) { + throw new SystemException(Lang::get('system::lang.directory.create_fail', ['name'=>$dir])); + } + while (!is_dir($dir) && !@mkdir($dir, 0777, true)) { usleep(rand(50000, 200000));