Fix incorrect if conditions in View

($something->getPermissions() && Constants::PERMISSION_READ) does not
  make sense as PERMISSION_READ contant is 1 this will always evaluate to
  true.
getPersmissions is returning an int which is a bitwise combination as
  documented in the interface, so it should be used with bit operators.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
This commit is contained in:
Côme Chilliet 2022-03-30 11:19:30 +02:00 committed by Louis Chemineau
parent 69262f83a7
commit aef9ba237f

View file

@ -1179,7 +1179,7 @@ class View {
throw $e;
}
if ($result && in_array('delete', $hooks) and $result) {
if ($result && in_array('delete', $hooks)) {
$this->removeUpdate($storage, $internalPath);
}
if ($result && in_array('write', $hooks, true) && $operation !== 'fopen' && $operation !== 'touch') {
@ -1453,7 +1453,7 @@ class View {
$data = $this->getCacheEntry($storage, $internalPath, $directory);
if (!$data instanceof ICacheEntry || !isset($data['fileid']) || !($data->getPermissions() && Constants::PERMISSION_READ)) {
if (!$data instanceof ICacheEntry || !isset($data['fileid']) || !($data->getPermissions() & Constants::PERMISSION_READ)) {
return [];
}
@ -1507,7 +1507,7 @@ class View {
$rootEntry = $subCache->get('');
}
if ($rootEntry && ($rootEntry->getPermissions() && Constants::PERMISSION_READ)) {
if ($rootEntry && ($rootEntry->getPermissions() & Constants::PERMISSION_READ)) {
$relativePath = trim(substr($mountPoint, $dirLength), '/');
if ($pos = strpos($relativePath, '/')) {
//mountpoint inside subfolder add size to the correct folder