Don't try to format deleted shares

Fixes #15455

The issue is that we have a fallback for shares to use the target. So
when the target exists again we happily format it (not that the shares
are still invalid).

This just tries to get the node. If we can't then boom.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
Roeland Jago Douma 2020-03-02 09:18:04 +01:00
parent fb9a6b8134
commit 7613681627
No known key found for this signature in database
GPG key ID: F941078878347C0C

View file

@ -768,6 +768,16 @@ class ShareAPIController extends OCSController {
$known = $formatted = $miniFormatted = [];
$resharingRight = false;
foreach ($shares as $share) {
try {
$share->getNode();
} catch (NotFoundException $e) {
/*
* Ignore shares where we can't get the node
* For example delted shares
*/
continue;
}
if (in_array($share->getId(), $known) || $share->getSharedWith() === $this->currentUser) {
continue;
}