Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#96 TZIDs parameters incorrectly parsed if another parameter follows them

None
closed-fixed
nobody
None
5
2014-06-03
2013-11-19
duffy151
No

There is a bug in the " else if (kind == ICAL_TZID_PARAMETER){" section of icalparser_add_line() when you have a PROPERTY like this:

DTSTART;TZID=America/Los_Angeles;X-MY-TZID-NAME=America/LA:20131115T123000

The code attempts to quote the entire string between TZID and the last colon without regarding any subsequent parameters in the property. This is easily reproducible:
- goto <libical>/src/test
- make parser

echo 'BEGIN:VCALENDAR
CALSCALE:GREGORIAN
VERSION:2.0
X-WR-CALNAME:yearly
PRODID:-//Apple Inc.//Mac OS X 10.9//EN
BEGIN:VEVENT
CREATED:20131023T170047Z
UID:1234
SUMMARY:abc
DTSTART;TZID=America/Los_Angeles;X-MY-TZID-NAME:America/LA:20131115T123000
END:VEVENT
END:VCALENDAR
' | ./parser '/dev/stdin'
BEGIN:VCALENDAR
CALSCALE:GREGORIAN
VERSION:2.0
X-WR-CALNAME:yearly
PRODID:-//Apple Inc.//Mac OS X 10.9//EN
BEGIN:VEVENT
CREATED:20131023T170047Z
UID:1234
SUMMARY:abc
DTSTART;TZID="America/Los_Angeles;X-MY-TZID-NAME:America/LA":
20131115T123000
END:VEVENT
END:VCALENDAR


You can see the TZID incorrectly includes the X param

Discussion

  • Allen Winter
    Allen Winter
    2014-06-03

    • status: open --> closed-fixed
    • Group: -->