aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Citharel <tcit@tcit.fr>2022-04-27 17:17:22 +0200
committerThomas Citharel <tcit@tcit.fr>2022-04-27 17:17:22 +0200
commit5494dd736ddac312154f1a43f449f849cd39b2f2 (patch)
tree81fba221ec30572b876d760f59970fa40b065f08
parent20d7bf8a880ddf41874afdaf3784d29bc1bc925d (diff)
downloadnextcloud-server-5494dd736ddac312154f1a43f449f849cd39b2f2.tar.gz
nextcloud-server-5494dd736ddac312154f1a43f449f849cd39b2f2.zip
Handle processing reminders for calendar objects with an infinite number
of recurrences Closes #29896 Signed-off-by: Thomas Citharel <tcit@tcit.fr>
-rw-r--r--apps/dav/lib/CalDAV/Reminder/ReminderService.php5
1 files changed, 5 insertions, 0 deletions
diff --git a/apps/dav/lib/CalDAV/Reminder/ReminderService.php b/apps/dav/lib/CalDAV/Reminder/ReminderService.php
index d6901cc4fb0..b33bc8a175a 100644
--- a/apps/dav/lib/CalDAV/Reminder/ReminderService.php
+++ b/apps/dav/lib/CalDAV/Reminder/ReminderService.php
@@ -44,6 +44,7 @@ use Sabre\VObject\Component\VEvent;
use Sabre\VObject\InvalidDataException;
use Sabre\VObject\ParseException;
use Sabre\VObject\Recur\EventIterator;
+use Sabre\VObject\Recur\MaxInstancesExceededException;
use Sabre\VObject\Recur\NoInstancesException;
use function strcasecmp;
@@ -247,6 +248,10 @@ class ReminderService {
// instance. We are skipping this event from the output
// entirely.
return;
+ } catch (MaxInstancesExceededException $e) {
+ // The event has more than 3500 recurring-instances
+ // so we can ignore it
+ return;
}
while ($iterator->valid() && count($processedAlarms) < count($masterAlarms)) {