From 381ae0046a43f7d5361ec7493f36dc7ca8488b18 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 15 Apr 2020 20:49:47 -0300 Subject: [PATCH] timeline: Protect against NULL arrays --- src/core/gcal-timeline.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/core/gcal-timeline.c b/src/core/gcal-timeline.c index 0b23b335..6065938f 100644 --- a/src/core/gcal-timeline.c +++ b/src/core/gcal-timeline.c @@ -271,9 +271,6 @@ calculate_changed_events (GcalTimeline *self, gint range_diff; gint i; - events_to_add = g_ptr_array_new (); - events_to_remove = g_ptr_array_new (); - overlap = gcal_range_calculate_overlap (new_range, old_range, NULL); if (overlap == GCAL_RANGE_NO_OVERLAP) @@ -292,6 +289,9 @@ calculate_changed_events (GcalTimeline *self, GCAL_TRACE_MSG ("Ranges overlap, doing a diff"); + events_to_add = g_ptr_array_new (); + events_to_remove = g_ptr_array_new (); + old_range_start = gcal_range_get_start (old_range); old_range_end = gcal_range_get_end (old_range); new_range_start = gcal_range_get_start (new_range); @@ -348,7 +348,7 @@ calculate_changed_events (GcalTimeline *self, } } - for (i = 0; i < events_to_remove->len; i++) + for (i = 0; events_to_remove && i < events_to_remove->len; i++) { GcalEvent *event = g_ptr_array_index (events_to_remove, i); @@ -360,7 +360,7 @@ calculate_changed_events (GcalTimeline *self, queue_event_data (self, REMOVE_EVENT, subscriber, event, NULL, FALSE); } - for (i = 0; i < events_to_add->len; i++) + for (i = 0; events_to_add && i < events_to_add->len; i++) { GcalEvent *event = g_ptr_array_index (events_to_add, i);