aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/itip-formatter/ChangeLog7
-rw-r--r--plugins/itip-formatter/itip-formatter.c8
2 files changed, 13 insertions, 2 deletions
diff --git a/plugins/itip-formatter/ChangeLog b/plugins/itip-formatter/ChangeLog
index 5befbf33a1..fbcd25aa96 100644
--- a/plugins/itip-formatter/ChangeLog
+++ b/plugins/itip-formatter/ChangeLog
@@ -1,3 +1,10 @@
+2008-05-29 Milan Crha <mcrha@redhat.com>
+
+ ** Fix for bug #535459
+
+ * itip-formatter.c: (extract_itip_data):
+ Do not use component when sanity check fails.
+
2008-05-22 Matthew Barnes <mbarnes@redhat.com>
** Fixes part of bug #534360
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)
{