add a disk_free_space check before writing config

Signed-off-by: Simon L <szaimen@e.mail.de>
This commit is contained in:
Simon L 2023-02-13 14:55:20 +01:00 committed by backportbot-nextcloud[bot]
parent 776c3cfe07
commit a87f45a6ca

View file

@ -277,6 +277,12 @@ 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 low (less than 100 KiB)
$df = disk_free_space($this->configDir);
if ($df !== false && (int)$df < 102400) {
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));