From fd4efdded9d0dfbccfbeb15dfe40022e07174f3c Mon Sep 17 00:00:00 2001
From: Vincent Petry <pvince81@owncloud.com>
Date: Wed, 1 Jul 2015 09:30:18 +0200
Subject: [PATCH] Clean up part file only once, not twice on error

---
 lib/private/connector/sabre/file.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/private/connector/sabre/file.php b/lib/private/connector/sabre/file.php
index 93244bea6ff..c28ac584998 100644
--- a/lib/private/connector/sabre/file.php
+++ b/lib/private/connector/sabre/file.php
@@ -189,7 +189,6 @@ class File extends Node implements IFile {
 					}
 					if (!$run || $renameOkay === false || $fileExists === false) {
 						\OC_Log::write('webdav', 'renaming part file to final file failed', \OC_Log::ERROR);
-						$partStorage->unlink($internalPartPath);
 						throw new Exception('Could not rename part file to final file');
 					}
 				} catch (\Exception $e) {
@@ -350,6 +349,7 @@ class File extends Node implements IFile {
 		if ($chunk_handler->isComplete()) {
 			list($storage,) = $this->fileView->resolvePath($path);
 			$needsPartFile = $this->needsPartFile($storage);
+			$partFile = null;
 
 			try {
 				$targetPath = $path . '/' . $info['name'];
@@ -388,7 +388,7 @@ class File extends Node implements IFile {
 				$info = $this->fileView->getFileInfo($targetPath);
 				return $info->getEtag();
 			} catch (\Exception $e) {
-				if ($partFile) {
+				if ($partFile !== null) {
 					$this->fileView->unlink($partFile);
 				}
 				$this->convertToSabreException($e);
-- 
GitLab