#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: -->
     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks