aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/connector/sabre/directory.php15
-rw-r--r--lib/connector/sabre/file.php16
2 files changed, 17 insertions, 14 deletions
diff --git a/lib/connector/sabre/directory.php b/lib/connector/sabre/directory.php
index a5676d656ec..f9245115353 100644
--- a/lib/connector/sabre/directory.php
+++ b/lib/connector/sabre/directory.php
@@ -69,13 +69,14 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa
\OC\Files\Filesystem::file_put_contents($partpath, $data);
//detect aborted upload
- if (isset($_SERVER['CONTENT_LENGTH'])
- && \OC\Files\Filesystem::filesize($partpath) != $_SERVER['CONTENT_LENGTH'])
- {
- throw new Sabre_DAV_Exception_BadRequest(
- 'expected filesize ' . $_SERVER['CONTENT_LENGTH'].
- ' got ' . \OC\Files\Filesystem::filesize($partpath)
- );
+ if (isset($_SERVER['CONTENT_LENGTH'])) {
+ $expected = $_SERVER['CONTENT_LENGTH'];
+ $actual = \OC\Files\Filesystem::filesize($partpath);
+ if ($actual != $expected) {
+ \OC\Files\Filesystem::unlink($partpath);
+ throw new Sabre_DAV_Exception_BadRequest(
+ 'expected filesize ' . $expected . ' got ' . $actual);
+ }
}
// rename to correct path
diff --git a/lib/connector/sabre/file.php b/lib/connector/sabre/file.php
index ab342fa2c64..e5436f0ad12 100644
--- a/lib/connector/sabre/file.php
+++ b/lib/connector/sabre/file.php
@@ -51,14 +51,16 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D
\OC\Files\Filesystem::file_put_contents($partpath, $data);
//detect aborted upload
- if (isset($_SERVER['CONTENT_LENGTH'])
- && \OC\Files\Filesystem::filesize($partpath) != $_SERVER['CONTENT_LENGTH'])
- {
- throw new Sabre_DAV_Exception_BadRequest(
- 'expected filesize ' . $_SERVER['CONTENT_LENGTH'].
- ' got ' . \OC\Files\Filesystem::filesize($partpath)
- );
+ if (isset($_SERVER['CONTENT_LENGTH'])) {
+ $expected = $_SERVER['CONTENT_LENGTH'];
+ $actual = \OC\Files\Filesystem::filesize($partpath);
+ if ($actual != $expected) {
+ \OC\Files\Filesystem::unlink($partpath);
+ throw new Sabre_DAV_Exception_BadRequest(
+ 'expected filesize ' . $expected . ' got ' . $actual);
+ }
}
+
// rename to correct path
\OC\Files\Filesystem::rename($partpath, $this->path);