summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/files_external/lib/webdav.php6
1 files changed, 6 insertions, 0 deletions
diff --git a/apps/files_external/lib/webdav.php b/apps/files_external/lib/webdav.php
index c532c5eaa7d..8536c65ace9 100644
--- a/apps/files_external/lib/webdav.php
+++ b/apps/files_external/lib/webdav.php
@@ -209,8 +209,14 @@ class DAV extends \OC\Files\Storage\Common {
$ext = '';
}
if ($this->file_exists($path)) {
+ if (!$this->isUpdatable($path)) {
+ return false;
+ }
$tmpFile = $this->getCachedFile($path);
} else {
+ if (!$this->isCreatable(dirname($path))) {
+ return false;
+ }
$tmpFile = \OCP\Files::tmpFile($ext);
}
\OC\Files\Stream\Close::registerCallback($tmpFile, array($this, 'writeBack'));