diff options
Diffstat (limited to 'lib/private/Config.php')
-rw-r--r-- | lib/private/Config.php | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/private/Config.php b/lib/private/Config.php index ba3b8c6fe4d..7308a3769df 100644 --- a/lib/private/Config.php +++ b/lib/private/Config.php @@ -285,6 +285,13 @@ class Config { 'This can usually be fixed by giving the webserver write access to the config directory.'); } + // Never write file back if disk space should be too low + $df = disk_free_space($this->configDir); + $size = strlen($content) + 10240; + if ($df !== false && (int)$df < $size) { + throw new \Exception($this->configDir . " does not have enough space for writing the config file! Not writing it back!"); + } + // Try to acquire a file lock if (!flock($filePointer, LOCK_EX)) { throw new \Exception(sprintf('Could not acquire an exclusive lock on the config file %s', $this->configFilePath)); |