From: Robin Appelman Date: Tue, 1 Oct 2013 20:18:03 +0000 (+0200) Subject: fix smb streamwrapper on non existing files X-Git-Tag: v6.0.0alpha2~53^2~4 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ea6115bfaa6f8598da727dfacbcf093578149d9d;p=nextcloud-server.git fix smb streamwrapper on non existing files --- diff --git a/apps/files_external/3rdparty/smb4php/smb.php b/apps/files_external/3rdparty/smb4php/smb.php index e7d1dfa09fe..aec181a3509 100644 --- a/apps/files_external/3rdparty/smb4php/smb.php +++ b/apps/files_external/3rdparty/smb4php/smb.php @@ -181,6 +181,8 @@ class smb { return false; }elseif(substr($regs[0],0,31)=='NT_STATUS_OBJECT_PATH_NOT_FOUND'){ return false; + }elseif(substr($regs[0],0,31)=='NT_STATUS_OBJECT_NAME_NOT_FOUND'){ + return false; }elseif(substr($regs[0],0,29)=='NT_STATUS_FILE_IS_A_DIRECTORY'){ return false; } @@ -430,7 +432,10 @@ class smb_stream_wrapper extends smb { case 'rb': case 'a': case 'a+': $this->tmpfile = tempnam('/tmp', 'smb.down.'); - smb::execute ('get "'.$pu['path'].'" "'.$this->tmpfile.'"', $pu); + $result = smb::execute ('get "'.$pu['path'].'" "'.$this->tmpfile.'"', $pu); + if($result === false){ + return $result; + } break; case 'w': case 'w+':