[evolution-data-server] Crash on meeting cancellation receive in local calendar



commit 49a96489d3ff18ca60098f4c980a5136d5f59335
Author: Milan Crha <mcrha redhat com>
Date:   Wed Jan 2 19:39:51 2019 +0100

    Crash on meeting cancellation receive in local calendar
    
    Reported downstream as:
    https://bugzilla.redhat.com/show_bug.cgi?id=1660257

 src/calendar/backends/file/e-cal-backend-file.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/src/calendar/backends/file/e-cal-backend-file.c b/src/calendar/backends/file/e-cal-backend-file.c
index 9d115cbfb..03cae6f1d 100644
--- a/src/calendar/backends/file/e-cal-backend-file.c
+++ b/src/calendar/backends/file/e-cal-backend-file.c
@@ -3376,8 +3376,9 @@ e_cal_backend_file_receive_objects (ECalBackendSync *backend,
        }
 
        /* Merge the iCalendar components with our existing VCALENDAR,
-        * resolving any conflicting TZIDs. */
+        * resolving any conflicting TZIDs. It also frees the toplevel_comp. */
        icalcomponent_merge_component (priv->icalcomp, toplevel_comp);
+       toplevel_comp = NULL;
 
        /* Now we manipulate the components we care about */
        comps = g_list_sort (comps, masters_first_cmp);
@@ -3502,8 +3503,7 @@ e_cal_backend_file_receive_objects (ECalBackendSync *backend,
                                                                        id, old_component, new_component);
 
                                /* remove the component from the toplevel VCALENDAR */
-                               icalcomponent_remove_component (toplevel_comp, subcomp);
-                               icalcomponent_free (subcomp);
+                               icalcomponent_remove_component (priv->icalcomp, subcomp);
                                e_cal_component_free_id (id);
 
                                if (new_component)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]