[evolution-patches] Exchange calendar - Memory leaks
- From: Sushma Rai <rsushma novell com>
- To: Evolution patches List <evolution-patches gnome org>
- Subject: [evolution-patches] Exchange calendar - Memory leaks
- Date: Thu, 02 Feb 2006 12:38:18 +0530
Hi,
I have attached the patch to fix some memory
leaks in calendar backend.
See http://bugzilla.gnome.org/show_bug.cgi?id=329251
for the valgrind reports.
Please review.
Thanks,
Sushma
Index: calendar/e-cal-backend-exchange.c
===================================================================
RCS file: /cvs/gnome/evolution-exchange/calendar/e-cal-backend-exchange.c,v
retrieving revision 1.55
diff -u -p -r1.55 e-cal-backend-exchange.c
--- calendar/e-cal-backend-exchange.c 18 Jan 2006 13:07:41 -0000 1.55
+++ calendar/e-cal-backend-exchange.c 2 Feb 2006 06:43:55 -0000
@@ -382,6 +382,7 @@ open_calendar (ECalBackendSync *backend,
if (prop)
access = atoi (prop);
}
+ e2k_results_free (results, nresults);
if (!(access & MAPI_ACCESS_READ)) {
g_mutex_unlock (cbex->priv->open_lock);
@@ -741,12 +742,13 @@ get_object (ECalBackendSync *backend, ED
} else {
/* Instance is not found. Send the master object instead */
if (ecomp->icomp) {
- icalcomponent *new_inst;
+ icalcomponent *temp_inst, *new_inst;
struct icaltimetype itt;
itt = icaltime_from_string (rid);
- new_inst = e_cal_util_construct_instance (
- icalcomponent_new_clone (ecomp->icomp), itt);
+ temp_inst = icalcomponent_new_clone (ecomp->icomp);
+ new_inst = e_cal_util_construct_instance (temp_inst, itt);
+ icalcomponent_free (temp_inst);
if (!new_inst)
return GNOME_Evolution_Calendar_ObjectNotFound;
@@ -1428,8 +1430,8 @@ check_change_type (gpointer key, gpointe
}
g_free (calobj);
+ g_object_unref (comp);
}
- g_object_unref (comp);
}
struct cbe_data {
Index: calendar/e-cal-backend-exchange-calendar.c
===================================================================
RCS file: /cvs/gnome/evolution-exchange/calendar/e-cal-backend-exchange-calendar.c,v
retrieving revision 1.49
diff -u -p -r1.49 e-cal-backend-exchange-calendar.c
--- calendar/e-cal-backend-exchange-calendar.c 4 Jan 2006 07:38:55 -0000 1.49
+++ calendar/e-cal-backend-exchange-calendar.c 2 Feb 2006 06:49:43 -0000
@@ -214,6 +214,7 @@ add_ical (ECalBackendExchange *cbex, con
ecomp = e_cal_component_new ();
e_cal_component_set_icalcomponent (ecomp, icalcomponent_new_clone (icalcomp));
e_cal_component_set_attachment_list (ecomp, attachment_list);
+ icalcomponent_free (icalcomp);
icalcomp = icalcomponent_new_clone (e_cal_component_get_icalcomponent (ecomp));
g_object_unref (ecomp);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]