[Freeassociation-devel] libical tolerating bad input

Will Stephenson wstephenson at kde.org
Fri Dec 5 05:26:03 PST 2008


Hi, I'm another one of the KDE-PIM hackers.  I just had the pleasure of 
diagnosing https://bugzilla.novell.com/show_bug.cgi?id=456374.  The backtrace 
there shows libical asserting on invalid iCal generated by your SF neighbours 
"WebCalendar-v1.0.5".  

A sample broken calendar is at 
http://ktown.kde.org/~wstephenson/bad_calendar.ics, but to summarize:

Actual:
ATTENDEE;ROLE=OWNER;STATUS=CONFIRMED:Fred Bloggs <fbloggs at suse.de>^M

Intended:
ATTENDEE;CN=Fred Bloggs;ROLE=OWNER;PARTSTAT=CONFIRMED;MAILTO:fbloggs at suse.de^M

No CN, No PARTSTAT, spurious STATUS, wrong separator (:), wrong mailto URI.

So before I write a patch to libical to make it tolerant of this junk, does 
fault-tolerance fit the project's goals?  Does the libical design support 
failing gracefully in the face of bad input?  

I would make icalproperty_get_attendee return 0 if icalproperty_get_value 
returns 0, instead of trying to call icalvalue_get_caladdress(0) as present in 
this case.

regards

Will


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/libical-devel/attachments/20081205/3d35f6b0/attachment.html>


More information about the libical-devel mailing list