From: Thomas Mueller Date: Fri, 31 May 2013 22:06:23 +0000 (+0200) Subject: In cases where smb4php returns false of an empty array stat/( has to return false. X-Git-Tag: v6.0.0alpha2~696^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=1d7d5d289401ad40e1a74737416193ae856a15bc;p=nextcloud-server.git In cases where smb4php returns false of an empty array stat/( has to return false. Fixes #3466 because the test method of external filesystems uses stat() to detect if the given parameters are okay. Changes to 3rdparty are necessary as well: https://github.com/owncloud/3rdparty/pull/33 --- diff --git a/apps/files_external/lib/smb.php b/apps/files_external/lib/smb.php index 655c3c9a816..81a6c956385 100644 --- a/apps/files_external/lib/smb.php +++ b/apps/files_external/lib/smb.php @@ -57,12 +57,22 @@ class SMB extends \OC\Files\Storage\StreamWrapper{ public function stat($path) { if ( ! $path and $this->root=='/') {//mtime doesn't work for shares - $mtime=$this->shareMTime(); $stat=stat($this->constructUrl($path)); + if (empty($stat)) { + return false; + } + $mtime=$this->shareMTime(); $stat['mtime']=$mtime; return $stat; } else { - return stat($this->constructUrl($path)); + $stat = stat($this->constructUrl($path)); + + // smb4php can return an empty array if the connection could not be established + if (empty($stat)) { + return false; + } + + return $stat; } }