From 404ca91941226faaf2479609f0109244e66d4bcd Mon Sep 17 00:00:00 2001 From: Gustavo Noronha Silva Date: Tue, 18 May 2021 15:28:43 -0300 Subject: [PATCH] calendar-server: Fix double-free detection abort app_notify_events_added uses an intermediate builder to construct an array that is then added to the main variant using g_variant_builder_add which should clear the intermediate, but doesn't due to the way it is passed: by value, rather than as a pointer. This was debugged with the help of Eduardo Habkost, who believes it works on x86 due to big structs being passed as pointers. Fixed: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3440 Part-of: --- src/calendar-server/gnome-shell-calendar-server.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/calendar-server/gnome-shell-calendar-server.c b/src/calendar-server/gnome-shell-calendar-server.c index 61ac92785..4c5a64542 100644 --- a/src/calendar-server/gnome-shell-calendar-server.c +++ b/src/calendar-server/gnome-shell-calendar-server.c @@ -381,8 +381,7 @@ app_notify_events_added (App *app) (gboolean) appt->is_all_day, (gint64) start_time, (gint64) end_time, - extras_builder); - g_variant_builder_clear (&extras_builder); + &extras_builder); } }