diff options
Diffstat (limited to 'vendor/sabre/dav/lib/DAV/Server.php')
-rw-r--r-- | vendor/sabre/dav/lib/DAV/Server.php | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/vendor/sabre/dav/lib/DAV/Server.php b/vendor/sabre/dav/lib/DAV/Server.php index 37bf282e8..4c213c1bd 100644 --- a/vendor/sabre/dav/lib/DAV/Server.php +++ b/vendor/sabre/dav/lib/DAV/Server.php @@ -1075,7 +1075,12 @@ class Server implements LoggerAwareInterface, EmitterInterface return false; } - $parent = $this->tree->getNodeForPath($dir); + try { + $parent = $this->tree->getNodeForPath($dir); + } catch (Exception\NotFound $e) { + throw new Exception\Conflict('Files cannot be created in non-existent collections'); + } + if (!$parent instanceof ICollection) { throw new Exception\Conflict('Files can only be created as children of collections'); } |