Fix few memory leaks
authorMilan Crha <mcrha@redhat.com>
Mon, 6 Jun 2011 13:16:27 +0000 (15:16 +0200)
committerMilan Crha <mcrha@redhat.com>
Mon, 6 Jun 2011 13:16:59 +0000 (15:16 +0200)
calendar/backends/caldav/e-cal-backend-caldav.c
calendar/backends/file/e-cal-backend-file.c
calendar/backends/weather/e-cal-backend-weather.c
calendar/libedata-cal/e-data-cal.c

index 8ccffa2..c1d68c0 100644 (file)
@@ -1988,6 +1988,7 @@ synchronize_cache (ECalBackendCalDAV *cbdav, time_t start_time, time_t end_time)
                        }
 
                        /* cache update done for fetched items */
+                       g_free (up_sobjs);
                }
 
                /* do not free 'data' itself, it's part of 'sobjs' */
@@ -2018,6 +2019,8 @@ synchronize_cache (ECalBackendCalDAV *cbdav, time_t start_time, time_t end_time)
        }
 
        g_tree_destroy (c_uid2complist);
+       g_slist_free (hrefs_to_update);
+       g_free (sobjs);
 }
 
 static gboolean
index faa0e04..9f522d3 100644 (file)
@@ -1822,7 +1822,6 @@ e_cal_backend_file_start_view (ECalBackend *backend, EDataCalView *query)
                g_list_foreach (objs_occuring_in_tw, (GFunc) g_object_unref, NULL);
                g_list_free (objs_occuring_in_tw);
        }
-       g_object_unref (match_data.obj_sexp);
 
        e_data_cal_view_notify_complete (query, NULL /* Success */);
 }
index d1f7d9c..5bf4ee8 100644 (file)
@@ -727,7 +727,6 @@ e_cal_backend_weather_start_view (ECalBackend *backend, EDataCalView *query)
        g_slist_free (components);
        g_slist_foreach (objects, (GFunc) g_free, NULL);
        g_slist_free (objects);
-       g_object_unref (sexp);
 
        e_data_cal_view_notify_complete (query, NULL /* Success */);
 }
index cc09424..bbcb3b0 100644 (file)
@@ -257,8 +257,8 @@ operation_thread (gpointer data, gpointer user_data)
                        }
 
                        view = e_data_cal_view_new (backend, obj_sexp);
+                       g_object_unref (obj_sexp);
                        if (!view) {
-                               g_object_unref (obj_sexp);
                                g_free (op->d.sexp);
                                e_data_cal_respond_get_view (op->cal, op->id, EDC_ERROR (OtherError), NULL);
                                break;