Merge pull request #36729 from nextcloud/backport/36691/stable25

[stable25] add a disk_free_space check before writing config
This commit is contained in:
Simon L 2023-02-24 10:19:35 +01:00 committed by GitHub
commit 982fdacc18
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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 && $df < (float)$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));