diff options
Diffstat (limited to 'calendar')
-rw-r--r-- | calendar/ChangeLog | 6 | ||||
-rw-r--r-- | calendar/gui/e-week-view-event-item.c | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 96b56aac6c..5b47fe211d 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,9 @@ +2004-05-13 Not Zed <NotZed@Ximian.com> + + * gui/e-week-view-event-item.c (e_week_view_event_item_draw): add + some array bounds checking as an attempt to isolate the crash in + #57644. + 2004-05-11 Not Zed <NotZed@Ximian.com> * gui/migration.c (migrate_calendars, migrate_tasks): add GError diff --git a/calendar/gui/e-week-view-event-item.c b/calendar/gui/e-week-view-event-item.c index 0bc43e12ef..22f33ebe43 100644 --- a/calendar/gui/e-week-view-event-item.c +++ b/calendar/gui/e-week-view-event-item.c @@ -250,8 +250,13 @@ e_week_view_event_item_draw (GnomeCanvasItem *canvas_item, if (wveitem->event_num == -1 || wveitem->span_num == -1) return; + g_return_if_fail(wveitem->event_num < week_view->events->len); + event = &g_array_index (week_view->events, EWeekViewEvent, wveitem->event_num); + + g_return_if_fail(event->spans_index + wveitem->span_num < week_view->spans->len); + span = &g_array_index (week_view->spans, EWeekViewEventSpan, event->spans_index + wveitem->span_num); |