Skip to content

Commit

Permalink
Merge pull request #49227 from nextcloud/backport/38630/stable28
Browse files Browse the repository at this point in the history
[stable28] Fix remaining readdir() calls in loops with undesirable false evaluation potential
  • Loading branch information
susnux authored Nov 12, 2024
2 parents ec281fb + 13bfa5f commit d9a54f7
Show file tree
Hide file tree
Showing 8 changed files with 10 additions and 10 deletions.
4 changes: 2 additions & 2 deletions apps/files_external/lib/Lib/Storage/Swift.php
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ public function rmdir($path) {
}

$dh = $this->opendir($path);
while ($file = readdir($dh)) {
while (($file = readdir($dh)) !== false) {
if (\OC\Files\Filesystem::isIgnoredDir($file)) {
continue;
}
Expand Down Expand Up @@ -527,7 +527,7 @@ public function copy($source, $target) {
}

$dh = $this->opendir($source);
while ($file = readdir($dh)) {
while (($file = readdir($dh)) !== false) {
if (\OC\Files\Filesystem::isIgnoredDir($file)) {
continue;
}
Expand Down
2 changes: 1 addition & 1 deletion apps/files_trashbin/lib/Trashbin.php
Original file line number Diff line number Diff line change
Expand Up @@ -1145,7 +1145,7 @@ private static function getTrashbinSize(string $user): int|float {
public static function isEmpty($user) {
$view = new View('/' . $user . '/files_trashbin');
if ($view->is_dir('/files') && $dh = $view->opendir('/files')) {
while ($file = readdir($dh)) {
while (($file = readdir($dh)) !== false) {
if (!Filesystem::isIgnoredDir($file)) {
return false;
}
Expand Down
2 changes: 1 addition & 1 deletion lib/private/Files/Storage/Common.php
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ public function copy($source, $target) {
$this->remove($target);
$dir = $this->opendir($source);
$this->mkdir($target);
while ($file = readdir($dir)) {
while (($file = readdir($dir)) !== false) {
if (!Filesystem::isIgnoredDir($file)) {
if (!$this->copy($source . '/' . $file, $target . '/' . $file)) {
closedir($dir);
Expand Down
2 changes: 1 addition & 1 deletion lib/private/Files/Storage/PolyFill/CopyDirectory.php
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ public function copy($source, $target) {
protected function copyRecursive($source, $target) {
$dh = $this->opendir($source);
$result = true;
while ($file = readdir($dh)) {
while (($file = readdir($dh)) !== false) {
if (!\OC\Files\Filesystem::isIgnoredDir($file)) {
if ($this->is_dir($source . '/' . $file)) {
$this->mkdir($target . '/' . $file);
Expand Down
2 changes: 1 addition & 1 deletion tests/apps.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ function loadDirectory($path): void {
return;
}

while ($name = readdir($dh)) {
while (($name = readdir($dh)) !== false) {
if ($name[0] === '.') {
continue;
}
Expand Down
4 changes: 2 additions & 2 deletions tests/lib/Files/Storage/Storage.php
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ public function testDirectories($directory) {

$dh = $this->instance->opendir('/');
$content = [];
while ($file = readdir($dh)) {
while (($file = readdir($dh)) !== false) {
if ($file != '.' and $file != '..') {
$content[] = $file;
}
Expand Down Expand Up @@ -113,7 +113,7 @@ public function testDirectories($directory) {

$dh = $this->instance->opendir('/');
$content = [];
while ($file = readdir($dh)) {
while (($file = readdir($dh)) !== false) {
if ($file != '.' and $file != '..') {
$content[] = $file;
}
Expand Down
2 changes: 1 addition & 1 deletion tests/lib/Files/Storage/Wrapper/EncodingTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ public function testNormalizedDirectoryEntriesOpenDir() {

$dh = $this->instance->opendir('/test');
$content = [];
while ($file = readdir($dh)) {
while (($file = readdir($dh)) !== false) {
if ($file != '.' and $file != '..') {
$content[] = $file;
}
Expand Down
2 changes: 1 addition & 1 deletion tests/lib/Files/Storage/Wrapper/JailTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ protected function tearDown(): void {
// test that nothing outside our jail is touched
$contents = [];
$dh = $this->sourceStorage->opendir('');
while ($file = readdir($dh)) {
while (($file = readdir($dh)) !== false) {
if (!\OC\Files\Filesystem::isIgnoredDir($file)) {
$contents[] = $file;
}
Expand Down

0 comments on commit d9a54f7

Please sign in to comment.