Bug 789677 - [ECalClient] Incorrect free call in process_detached_instances()
[ECalClient] Incorrect free call in process_detached_instances()
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Calendar
3.26.x
Other All
: Normal major
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
:
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2017-10-31 00:56 UTC by Jan Alexander Steffens (heftig)
Modified: 2017-10-31 07:28 UTC (History)
1 user (show)

See Also:
GNOME target: ---
GNOME version: ---


Attachments
[PATCH] Don't free instance_recur_id when not initialized (1.05 KB, patch)
2017-10-31 00:56 UTC, Jan Alexander Steffens (heftig)
reviewed Details | Diff | Review

Description Jan Alexander Steffens (heftig) 2017-10-31 00:56:33 UTC
Created attachment 362589 [details] [review]
[PATCH] Don't free instance_recur_id when not initialized

Since EDS 3.26.2, gnome-shell-calendar-server constantly crashed due to cal_client_get_view_in_dbus_thread getting called with a NULL source_object.

Confusingly, this should have been impossible since the associated e_cal_client_get_view_sync had a valid client.

Digging via bisect (and later, valgrind) revealed that e_cal_component_free_datetime was being run on uninitialized data which just happened to be a pointer to the get_view's GSimpleAsyncResult.

The attached patch fixes the problem.
Comment 1 Milan Crha 2017-10-31 07:27:27 UTC
Thanks for a bug report and patch. That was a very bad overlook on my side. I'm sorry about that. I shuffled variables around a bit, to make it explicit in which code block the variable is valid. I'll make a 3.26.2.1 release of eds today.

Created commit c6ce97e6e in eds master (3.27.2+)
Created commit 872397797 in eds gnome-3-26 (3.26.2.1+)

Note You need to log in before you can comment on or make changes to this bug.