From c5402f457530577999d1adc1715c76e742ad8aa9 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 19 Aug 2013 12:04:53 +0200 Subject: [PATCH] use strict equals in readdir loops to prevent issues with '0' files --- apps/files_external/lib/amazons3.php | 4 ++-- apps/files_external/lib/google.php | 2 +- apps/files_external/lib/irods.php | 2 +- apps/files_external/lib/smb.php | 2 +- apps/files_trashbin/index.php | 2 +- lib/app.php | 2 +- lib/archive.php | 2 +- lib/cache/file.php | 4 ++-- lib/cache/fileglobal.php | 4 ++-- lib/connector/sabre/objecttree.php | 2 +- lib/files/cache/scanner.php | 2 +- lib/files/storage/common.php | 6 +++--- lib/files/view.php | 2 +- lib/installer.php | 2 +- 14 files changed, 19 insertions(+), 19 deletions(-) diff --git a/apps/files_external/lib/amazons3.php b/apps/files_external/lib/amazons3.php index 9363a350e2..2d7bcd4ac3 100644 --- a/apps/files_external/lib/amazons3.php +++ b/apps/files_external/lib/amazons3.php @@ -183,7 +183,7 @@ class AmazonS3 extends \OC\Files\Storage\Common { } $dh = $this->opendir($path); - while ($file = readdir($dh)) { + while (($file = readdir($dh)) !== false) { if ($file === '.' || $file === '..') { continue; } @@ -464,7 +464,7 @@ class AmazonS3 extends \OC\Files\Storage\Common { } $dh = $this->opendir($path1); - while ($file = readdir($dh)) { + while (($file = readdir($dh)) !== false) { if ($file === '.' || $file === '..') { continue; } diff --git a/apps/files_external/lib/google.php b/apps/files_external/lib/google.php index e6cdacdec4..b27b9ae3f3 100644 --- a/apps/files_external/lib/google.php +++ b/apps/files_external/lib/google.php @@ -206,7 +206,7 @@ class Google extends \OC\Files\Storage\Common { public function rmdir($path) { if (trim($path, '/') === '') { $dir = $this->opendir($path); - while ($file = readdir($dir)) { + while (($file = readdir($dh)) !== false) { if (!\OC\Files\Filesystem::isIgnoredDir($file)) { if (!$this->unlink($path.'/'.$file)) { return false; diff --git a/apps/files_external/lib/irods.php b/apps/files_external/lib/irods.php index a343ac5fb2..7ec3b3a0cf 100644 --- a/apps/files_external/lib/irods.php +++ b/apps/files_external/lib/irods.php @@ -137,7 +137,7 @@ class iRODS extends \OC\Files\Storage\StreamWrapper{ private function collectionMTime($path) { $dh = $this->opendir($path); $lastCTime = $this->filemtime($path); - while ($file = readdir($dh)) { + while (($file = readdir($dh)) !== false) { if ($file != '.' and $file != '..') { $time = $this->filemtime($file); if ($time > $lastCTime) { diff --git a/apps/files_external/lib/smb.php b/apps/files_external/lib/smb.php index 81a6c95638..dc4e02731f 100644 --- a/apps/files_external/lib/smb.php +++ b/apps/files_external/lib/smb.php @@ -99,7 +99,7 @@ class SMB extends \OC\Files\Storage\StreamWrapper{ private function shareMTime() { $dh=$this->opendir(''); $lastCtime=0; - while($file=readdir($dh)) { + while (($file = readdir($dh)) !== false) { if ($file!='.' and $file!='..') { $ctime=$this->filemtime($file); if ($ctime>$lastCtime) { diff --git a/apps/files_trashbin/index.php b/apps/files_trashbin/index.php index 2dbaefe7a7..27f8407db0 100644 --- a/apps/files_trashbin/index.php +++ b/apps/files_trashbin/index.php @@ -23,7 +23,7 @@ if ($dir) { $dirlisting = true; $dirContent = $view->opendir($dir); $i = 0; - while($entryName = readdir($dirContent)) { + while(($entryName = readdir($dirContent)) !== false) { if (!\OC\Files\Filesystem::isIgnoredDir($entryName)) { $pos = strpos($dir.'/', '/', 1); $tmp = substr($dir, 0, $pos); diff --git a/lib/app.php b/lib/app.php index 5fa650044f..f76b92cde1 100644 --- a/lib/app.php +++ b/lib/app.php @@ -666,7 +666,7 @@ class OC_App{ } $dh = opendir( $apps_dir['path'] ); - while( $file = readdir( $dh ) ) { + while (($file = readdir($dh)) !== false) { if ($file[0] != '.' and is_file($apps_dir['path'].'/'.$file.'/appinfo/app.php')) { diff --git a/lib/archive.php b/lib/archive.php index 70615db714..364cd5a74a 100644 --- a/lib/archive.php +++ b/lib/archive.php @@ -121,7 +121,7 @@ abstract class OC_Archive{ function addRecursive($path, $source) { if($dh=opendir($source)) { $this->addFolder($path); - while($file=readdir($dh)) { + while (($file = readdir($dh)) !== false) { if($file=='.' or $file=='..') { continue; } diff --git a/lib/cache/file.php b/lib/cache/file.php index ba3dedaf8f..9fee6034a7 100644 --- a/lib/cache/file.php +++ b/lib/cache/file.php @@ -80,7 +80,7 @@ class OC_Cache_File{ $storage = $this->getStorage(); if($storage and $storage->is_dir('/')) { $dh=$storage->opendir('/'); - while($file=readdir($dh)) { + while (($file = readdir($dh)) !== false) { if($file!='.' and $file!='..' and ($prefix==='' || strpos($file, $prefix) === 0)) { $storage->unlink('/'.$file); } @@ -94,7 +94,7 @@ class OC_Cache_File{ if($storage and $storage->is_dir('/')) { $now = time(); $dh=$storage->opendir('/'); - while($file=readdir($dh)) { + while (($file = readdir($dh)) !== false) { if($file!='.' and $file!='..') { $mtime = $storage->filemtime('/'.$file); if ($mtime < $now) { diff --git a/lib/cache/fileglobal.php b/lib/cache/fileglobal.php index 6d01964e18..2fbd8ca3ed 100644 --- a/lib/cache/fileglobal.php +++ b/lib/cache/fileglobal.php @@ -69,7 +69,7 @@ class OC_Cache_FileGlobal{ $prefix = $this->fixKey($prefix); if($cache_dir and is_dir($cache_dir)) { $dh=opendir($cache_dir); - while($file=readdir($dh)) { + while (($file = readdir($dh)) !== false) { if($file!='.' and $file!='..' and ($prefix==='' || strpos($file, $prefix) === 0)) { unlink($cache_dir.$file); } @@ -88,7 +88,7 @@ class OC_Cache_FileGlobal{ $cache_dir = self::getCacheDir(); if($cache_dir and is_dir($cache_dir)) { $dh=opendir($cache_dir); - while($file=readdir($dh)) { + while (($file = readdir($dh)) !== false) { if($file!='.' and $file!='..') { $mtime = filemtime($cache_dir.$file); if ($mtime < $now) { diff --git a/lib/connector/sabre/objecttree.php b/lib/connector/sabre/objecttree.php index c4ddcbecbb..b298813a20 100644 --- a/lib/connector/sabre/objecttree.php +++ b/lib/connector/sabre/objecttree.php @@ -88,7 +88,7 @@ class ObjectTree extends \Sabre_DAV_ObjectTree { } else { Filesystem::mkdir($destination); $dh = Filesystem::opendir($source); - while ($subnode = readdir($dh)) { + while (($subnode = readdir($dh)) !== false) { if ($subnode == '.' || $subnode == '..') continue; $this->copy($source . '/' . $subnode, $destination . '/' . $subnode); diff --git a/lib/files/cache/scanner.php b/lib/files/cache/scanner.php index 597eabecf5..87fa7c1365 100644 --- a/lib/files/cache/scanner.php +++ b/lib/files/cache/scanner.php @@ -159,7 +159,7 @@ class Scanner extends BasicEmitter { $newChildren = array(); if ($this->storage->is_dir($path) && ($dh = $this->storage->opendir($path))) { \OC_DB::beginTransaction(); - while ($file = readdir($dh)) { + while (($file = readdir($dh)) !== false) { $child = ($path) ? $path . '/' . $file : $file; if (!Filesystem::isIgnoredDir($file)) { $newChildren[] = $file; diff --git a/lib/files/storage/common.php b/lib/files/storage/common.php index 3da13ac4df..1a273240ee 100644 --- a/lib/files/storage/common.php +++ b/lib/files/storage/common.php @@ -142,7 +142,7 @@ abstract class Common implements \OC\Files\Storage\Storage { return false; } else { $directoryHandle = $this->opendir($directory); - while ($contents = readdir($directoryHandle)) { + while (($contents = readdir($directoryHandle)) !== false) { if (!\OC\Files\Filesystem::isIgnoredDir($contents)) { $path = $directory . '/' . $contents; if ($this->is_dir($path)) { @@ -225,7 +225,7 @@ abstract class Common implements \OC\Files\Storage\Storage { private function addLocalFolder($path, $target) { if ($dh = $this->opendir($path)) { - while ($file = readdir($dh)) { + while (($file = readdir($dh)) !== false) { if ($file !== '.' and $file !== '..') { if ($this->is_dir($path . '/' . $file)) { mkdir($target . '/' . $file); @@ -243,7 +243,7 @@ abstract class Common implements \OC\Files\Storage\Storage { $files = array(); $dh = $this->opendir($dir); if ($dh) { - while ($item = readdir($dh)) { + while (($item = readdir($dh)) !== false) { if ($item == '.' || $item == '..') continue; if (strstr(strtolower($item), strtolower($query)) !== false) { $files[] = $dir . '/' . $item; diff --git a/lib/files/view.php b/lib/files/view.php index c9727fe498..bb737f19ef 100644 --- a/lib/files/view.php +++ b/lib/files/view.php @@ -499,7 +499,7 @@ class View { } else { if ($this->is_dir($path1) && ($dh = $this->opendir($path1))) { $result = $this->mkdir($path2); - while ($file = readdir($dh)) { + while (($file = readdir($dh)) !== false) { if (!Filesystem::isIgnoredDir($file)) { $result = $this->copy($path1 . '/' . $file, $path2 . '/' . $file); } diff --git a/lib/installer.php b/lib/installer.php index dcd29f9e1a..c29f9ec898 100644 --- a/lib/installer.php +++ b/lib/installer.php @@ -109,7 +109,7 @@ class OC_Installer{ if(!is_file($extractDir.'/appinfo/info.xml')) { //try to find it in a subdir $dh=opendir($extractDir); - while($folder=readdir($dh)) { + while (($folder = readdir($dh)) !== false) { if($folder[0]!='.' and is_dir($extractDir.'/'.$folder)) { if(is_file($extractDir.'/'.$folder.'/appinfo/info.xml')) { $extractDir.='/'.$folder;