fix(CalDAV): check voject exists before attempting any operation

Signed-off-by: Anna Larch <anna@nextcloud.com>
This commit is contained in:
Anna Larch 2023-06-30 11:01:22 +02:00 committed by backportbot-nextcloud[bot]
parent e917d517b0
commit 651405a320

View file

@ -240,12 +240,26 @@ class Manager implements IManager {
/**
* @throws \OCP\DB\Exception
*/
public function handleIMipReply(string $principalUri, string $sender, string $recipient, string $calendarData): bool {
/** @var VCalendar $vObject */
public function handleIMipReply(
string $principalUri,
string $sender,
string $recipient,
string $calendarData,
): bool {
/** @var VCalendar $vObject|null */
$vObject = Reader::read($calendarData);
/** @var VEvent $vEvent */
if ($vObject === null) {
return false;
}
/** @var VEvent|null $vEvent */
$vEvent = $vObject->{'VEVENT'};
if ($vEvent === null) {
return false;
}
// First, we check if the correct method is passed to us
if (strcasecmp('REPLY', $vObject->{'METHOD'}->getValue()) !== 0) {
$this->logger->warning('Wrong method provided for processing');
@ -309,11 +323,27 @@ class Manager implements IManager {
* @since 25.0.0
* @throws \OCP\DB\Exception
*/
public function handleIMipCancel(string $principalUri, string $sender, ?string $replyTo, string $recipient, string $calendarData): bool {
public function handleIMipCancel(
string $principalUri,
string $sender,
?string $replyTo,
string $recipient,
string $calendarData,
): bool {
/** @var VCalendar $vObject|null */
$vObject = Reader::read($calendarData);
/** @var VEvent $vEvent */
if ($vObject === null) {
return false;
}
/** @var VEvent|null $vEvent */
$vEvent = $vObject->{'VEVENT'};
if ($vEvent === null) {
return false;
}
// First, we check if the correct method is passed to us
if (strcasecmp('CANCEL', $vObject->{'METHOD'}->getValue()) !== 0) {
$this->logger->warning('Wrong method provided for processing');