diff options
Diffstat (limited to 'plugins/itip-formatter/itip-formatter.c')
-rw-r--r-- | plugins/itip-formatter/itip-formatter.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/plugins/itip-formatter/itip-formatter.c b/plugins/itip-formatter/itip-formatter.c index 55b182752d..b40c6519e2 100644 --- a/plugins/itip-formatter/itip-formatter.c +++ b/plugins/itip-formatter/itip-formatter.c @@ -1372,11 +1372,16 @@ extract_itip_data (struct _itip_puri *pitip, GtkContainer *container) pitip->top_level = e_cal_util_new_top_level (); pitip->main_comp = icalparser_parse_string (pitip->vcalendar); - if (pitip->main_comp == NULL) { + if (pitip->main_comp == NULL || !is_icalcomp_valid (pitip->main_comp)) { set_itip_error (pitip, container, _("The calendar attached is not valid"), _("The message claims to contain a calendar, but the calendar is not a valid iCalendar.")); + if (pitip->main_comp) { + icalcomponent_free (pitip->main_comp); + pitip->main_comp = NULL; + } + return FALSE; } @@ -1849,7 +1854,6 @@ check_is_instance (icalcomponent *icalcomp) return FALSE; } - static gboolean in_proper_folder (CamelFolder *folder) { |