aboutsummaryrefslogtreecommitdiffstats
path: root/calendar
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2009-04-25 02:41:00 +0800
committerMatthew Barnes <mbarnes@redhat.com>2009-04-28 20:03:33 +0800
commit1c12da3c39cf36898cf336977a02578fe37d60b2 (patch)
treed3a6f1d6ccbdd0f2428b3b4f95cf2e319d528684 /calendar
parentd9b8a249c4778ba2c385af244661b2e94e360ccf (diff)
downloadgsoc2013-evolution-1c12da3c39cf36898cf336977a02578fe37d60b2.tar.gz
gsoc2013-evolution-1c12da3c39cf36898cf336977a02578fe37d60b2.tar.zst
gsoc2013-evolution-1c12da3c39cf36898cf336977a02578fe37d60b2.zip
Possible leak fix
** Part of fix for bug #571272
Diffstat (limited to 'calendar')
-rw-r--r--calendar/ChangeLog6
-rw-r--r--calendar/gui/e-cal-model.c8
2 files changed, 12 insertions, 2 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index f461af6832..0885b506ae 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,5 +1,11 @@
2009-04-24 Milan Crha <mcrha@redhat.com>
+ ** Part of fix for bug #571272
+
+ * gui/e-cal-model.c: (search_by_id_and_client): Possible leak fix.
+
+2009-04-24 Milan Crha <mcrha@redhat.com>
+
** Part of fix for bug #569652
* gui/calendar-component.c: (ensure_sources):
diff --git a/calendar/gui/e-cal-model.c b/calendar/gui/e-cal-model.c
index 13d9d26c35..fd26779169 100644
--- a/calendar/gui/e-cal-model.c
+++ b/calendar/gui/e-cal-model.c
@@ -1336,10 +1336,13 @@ search_by_id_and_client (ECalModelPrivate *priv, ECal *client, const ECalCompone
if (comp_data) {
const char *uid;
char *rid = NULL;
+ struct icaltimetype icalrid;
gboolean has_rid = (id->rid && *id->rid);
uid = icalcomponent_get_uid (comp_data->icalcomp);
- rid = icaltime_as_ical_string_r (icalcomponent_get_recurrenceid (comp_data->icalcomp));
+ icalrid = icalcomponent_get_recurrenceid (comp_data->icalcomp);
+ if (!icaltime_is_null_time (icalrid))
+ rid = icaltime_as_ical_string_r (icalrid);
if (uid && *uid) {
if ((!client || comp_data->client == client) && !strcmp (id->uid, uid)) {
@@ -1352,8 +1355,9 @@ search_by_id_and_client (ECalModelPrivate *priv, ECal *client, const ECalCompone
g_free (rid);
return comp_data;
}
- g_free (rid);
}
+
+ g_free (rid);
}
}