From 0dcac65aa1eb14adc4d3693b6a2c99cbf6ea2425 Mon Sep 17 00:00:00 2001
From: Vincent Petry <pvince81@owncloud.com>
Date: Thu, 6 Mar 2014 13:50:53 +0100
Subject: [PATCH] Fixed upload issue when free space is not known

---
 apps/files/js/file-upload.js | 4 +++-
 lib/private/helper.php       | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js
index b9c4dc941f..b7b8f6fdeb 100644
--- a/apps/files/js/file-upload.js
+++ b/apps/files/js/file-upload.js
@@ -206,6 +206,7 @@ OC.Upload = {
 				add: function(e, data) {
 					OC.Upload.log('add', e, data);
 					var that = $(this);
+					var freeSpace;
 
 					// we need to collect all data upload objects before starting the upload so we can check their existence
 					// and set individual conflict actions. unfortunately there is only one variable that we can use to identify
@@ -261,7 +262,8 @@ OC.Upload = {
 					}
 
 					// check free space
-					if (selection.totalBytes > $('#free_space').val()) {
+					freeSpace = $('#free_space').val();
+					if (freeSpace >= 0 && selection.totalBytes > freeSpace) {
 						data.textStatus = 'notenoughspace';
 						data.errorThrown = t('files', 'Not enough free space, you are uploading {size1} but only {size2} is left', {
 							'size1': humanFileSize(selection.totalBytes),
diff --git a/lib/private/helper.php b/lib/private/helper.php
index d8c4650f66..b9956d5ec1 100644
--- a/lib/private/helper.php
+++ b/lib/private/helper.php
@@ -839,7 +839,7 @@ class OC_Helper {
 	 * @return int number of bytes representing
 	 */
 	public static function maxUploadFilesize($dir, $freeSpace = null) {
-		if (is_null($freeSpace)){
+		if (is_null($freeSpace) || $freeSpace < 0){
 			$freeSpace = self::freeSpace($dir);
 		}
 		return min($freeSpace, self::uploadLimit());
-- 
GitLab