Properly validate hex colors
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
@@ -30,6 +30,7 @@ use Sabre\CalDAV\Xml\Property\SupportedCalendarComponentSet;
|
|||||||
use Sabre\DAV\Exception\Forbidden;
|
use Sabre\DAV\Exception\Forbidden;
|
||||||
use Sabre\DAV\Exception\NotFound;
|
use Sabre\DAV\Exception\NotFound;
|
||||||
use Sabre\DAV\PropPatch;
|
use Sabre\DAV\PropPatch;
|
||||||
|
use Sabre\VObject\InvalidDataException;
|
||||||
|
|
||||||
class Calendar extends ExternalCalendar {
|
class Calendar extends ExternalCalendar {
|
||||||
|
|
||||||
@@ -164,7 +165,11 @@ class Calendar extends ExternalCalendar {
|
|||||||
$this->board->setTitle($value);
|
$this->board->setTitle($value);
|
||||||
break;
|
break;
|
||||||
case '{http://apple.com/ns/ical/}calendar-color':
|
case '{http://apple.com/ns/ical/}calendar-color':
|
||||||
$this->board->setColor(substr($value, 1));
|
$color = substr($value, 1, 6);
|
||||||
|
if (!preg_match('/[a-f0-9]{6}/i', $color)) {
|
||||||
|
throw new InvalidDataException('No valid color provided');
|
||||||
|
}
|
||||||
|
$this->board->setColor($color);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user