From 190908bc1e48a8c948c8fed8251c85a2055bd0a6 Mon Sep 17 00:00:00 2001
From: Robin Appelman <icewind1991@gmail.com>
Date: Tue, 12 Jul 2011 17:45:01 +0200
Subject: [PATCH] fix error in autocomplete when try to list non-existing or
 unreadable folders

---
 files/ajax/autocomplete.php | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/files/ajax/autocomplete.php b/files/ajax/autocomplete.php
index af23537980..2c2f665fd6 100644
--- a/files/ajax/autocomplete.php
+++ b/files/ajax/autocomplete.php
@@ -40,17 +40,19 @@ $query=strtolower($query);
 
 $files=array();
 
-if(OC_FILESYSTEM::is_dir($base)){
+if(OC_FILESYSTEM::file_exists($base) and OC_FILESYSTEM::is_dir($base)){
 	$dh = OC_FILESYSTEM::opendir($base);
-	if(substr($base,-1,1)!='/'){
-		$base=$base.'/';
-	}
-	while (($file = readdir($dh)) !== false) {
-		if ($file != "." && $file != ".."){
-			if(substr(strtolower($file),0,$queryLen)==$query){
-				$item=$base.$file;
-				if((!$dirOnly or OC_FILESYSTEM::is_dir($item))){
-					$files[]=(object)array('id'=>$item,'label'=>$item,'name'=>$item);
+	if($dh){
+		if(substr($base,-1,1)!='/'){
+			$base=$base.'/';
+		}
+		while (($file = readdir($dh)) !== false) {
+			if ($file != "." && $file != ".."){
+				if(substr(strtolower($file),0,$queryLen)==$query){
+					$item=$base.$file;
+					if((!$dirOnly or OC_FILESYSTEM::is_dir($item))){
+						$files[]=(object)array('id'=>$item,'label'=>$item,'name'=>$item);
+					}
 				}
 			}
 		}
-- 
GitLab