diff --git a/lib/private/Share20/DefaultShareProvider.php b/lib/private/Share20/DefaultShareProvider.php index 07ac0113938..8f5759a9438 100644 --- a/lib/private/Share20/DefaultShareProvider.php +++ b/lib/private/Share20/DefaultShareProvider.php @@ -961,15 +961,22 @@ class DefaultShareProvider implements if ($forChildren) { $qb->andWhere( $qb->expr()->orX( - $qb->expr()->like('s.file_target', $qb->createNamedParameter($this->dbConn->escapeLikeParameter($path) . '_%')), $qb->expr()->like('sc.file_target', $qb->createNamedParameter($this->dbConn->escapeLikeParameter($path) . '_%')), + $qb->expr()->andX( + $qb->expr()->isNull('sc.file_target'), + $qb->expr()->like('s.file_target', $qb->createNamedParameter($this->dbConn->escapeLikeParameter($path) . '_%'), + ), + ), ) ); } else { $qb->andWhere( $qb->expr()->orX( - $qb->expr()->eq('s.file_target', $qb->createNamedParameter($path)), $qb->expr()->eq('sc.file_target', $qb->createNamedParameter($path)), + $qb->expr()->andX( + $qb->expr()->isNull('sc.file_target'), + $qb->expr()->eq('s.file_target', $qb->createNamedParameter($path)), + ), ) ); }