After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
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 (obsolete)
Other All
: Normal major
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2017-10-31 00:56 UTC by Jan Alexander Steffens (heftig)
Modified: 2017-10-31 07:28 UTC
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 | 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+)