Skip to content

App crashes when encountering RDATE #284

@m-strasser

Description

@m-strasser

I've noticed that specific calendar events that contain the RDATE field crash the etesync Android app.

Steps to reproduce

  1. Create a new calendar collection and import the example ics file below (I did so through the web interface)
  2. Press the sync button on the Android app
  3. Observer the crash

Example ICS file:

BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
NAME:Mein Kalender
X-WR-CALNAME:Mein Kalender
BEGIN:VTIMEZONE
TZID:Europe/Vienna
X-TZINFO:Europe/Vienna[2025b]
BEGIN:STANDARD
TZOFFSETTO:+010000
TZOFFSETFROM:+010521
TZNAME:Europe/Vienna(STD)
DTSTART:18930401T000000
RDATE:18930401T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+020000
TZOFFSETFROM:+010000
TZNAME:Europe/Vienna(DST)
DTSTART:19160430T230000
RDATE:19160430T230000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+010000
TZOFFSETFROM:+020000
TZNAME:Europe/Vienna(STD)
DTSTART:19161001T010000
RDATE:19161001T010000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+020000
TZOFFSETFROM:+010000
TZNAME:Europe/Vienna(DST)
DTSTART:19170416T020000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=3MO;UNTIL=19180415T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+010000
TZOFFSETFROM:+020000
TZNAME:Europe/Vienna(STD)
DTSTART:19170917T030000
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=3MO;UNTIL=19180916T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+020000
TZOFFSETFROM:+010000
TZNAME:Europe/Vienna(DST)
DTSTART:19200405T020000
RDATE:19200405T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+010000
TZOFFSETFROM:+020000
TZNAME:Europe/Vienna(STD)
DTSTART:19200913T030000
RDATE:19200913T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+020000
TZOFFSETFROM:+010000
TZNAME:Europe/Vienna(DST)
DTSTART:19400401T020000
RDATE:19400401T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+010000
TZOFFSETFROM:+020000
TZNAME:Europe/Vienna(STD)
DTSTART:19421102T030000
RDATE:19421102T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+020000
TZOFFSETFROM:+010000
TZNAME:Europe/Vienna(DST)
DTSTART:19430329T020000
RDATE:19430329T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+010000
TZOFFSETFROM:+020000
TZNAME:Europe/Vienna(STD)
DTSTART:19431004T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1MO;UNTIL=19441002T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+020000
TZOFFSETFROM:+010000
TZNAME:Europe/Vienna(DST)
DTSTART:19440403T020000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1MO;UNTIL=19450402T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+010000
TZOFFSETFROM:+020000
TZNAME:Europe/Vienna(STD)
DTSTART:19450412T030000
RDATE:19450412T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+020000
TZOFFSETFROM:+010000
TZNAME:Europe/Vienna(DST)
DTSTART:19460414T020000
RDATE:19460414T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+010000
TZOFFSETFROM:+020000
TZNAME:Europe/Vienna(STD)
DTSTART:19461007T030000
RDATE:19461007T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+020000
TZOFFSETFROM:+010000
TZNAME:Europe/Vienna(DST)
DTSTART:19470406T020000
RDATE:19470406T020000
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETTO:+020000
TZOFFSETFROM:+010000
TZNAME:Europe/Vienna(DST)
DTSTART:19480418T020000
RDATE:19480418T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+010000
TZOFFSETFROM:+020000
TZNAME:Europe/Vienna(STD)
DTSTART:19471005T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU;UNTIL=19481003T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+020000
TZOFFSETFROM:+010000
TZNAME:Europe/Vienna(DST)
DTSTART:19800406T000000
RDATE:19800406T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+010000
TZOFFSETFROM:+020000
TZNAME:Europe/Vienna(STD)
DTSTART:19800928T000000
RDATE:19800928T000000
END:STANDARD
BEGIN:STANDARD
TZOFFSETTO:+010000
TZOFFSETFROM:+020000
TZNAME:Europe/Vienna(STD)
DTSTART:19810927T030000
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU;UNTIL=19950924T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+020000
TZOFFSETFROM:+010000
TZNAME:Europe/Vienna(DST)
DTSTART:19810329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU;UNTIL=19960331T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+010000
TZOFFSETFROM:+020000
TZNAME:Europe/Vienna(STD)
DTSTART:19961027T030000
RDATE:19961027T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+020000
TZOFFSETFROM:+010000
TZNAME:(DST)
DTSTART:19970330T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+010000
TZOFFSETFROM:+020000
TZNAME:(STD)
DTSTART:19971026T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20251126T105941Z
LAST-MODIFIED:20251213T121641Z
DTSTAMP:20251213T121641Z
UID:123456
RDATE;TZID=Europe/Vienna:20250505T180000
DTSTART;TZID=Europe/Vienna:20250505T180000
DTEND;TZID=Europe/Vienna:20250505T180000
SUMMARY:Crash
X-MOZ-FAKED-MASTER:1
END:VEVENT
BEGIN:VEVENT
CREATED:20251213T121641Z
LAST-MODIFIED:20251213T121641Z
DTSTAMP:20251213T121641Z
UID:123456
SUMMARY:Crash
STATUS:CONFIRMED
RECURRENCE-ID;TZID=Europe/Vienna:20250505T180000
DTSTART;TZID=Europe/Vienna:20250505T180000
DTEND;TZID=Europe/Vienna:20250505T200000
SEQUENCE:2
END:VEVENT
END:VCALENDAR

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions