summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGustavo Noronha Silva <gustavo@noronha.dev.br>2021-05-18 15:28:43 -0300
committerMarco Trevisan (TreviƱo) <mail@3v1n0.net>2021-05-31 18:41:56 +0200
commitbe8a1dcbfc7edf19ef13a63ddf034dba814ee000 (patch)
tree95bd28693ce7f057605f37207514d40168b3230e
parent8c19cd528ab03abf18dd7958807ebf3630982395 (diff)
downloadgnome-shell-gnome-3-36.tar.gz
calendar-server: Fix double-free detection abortgnome-3-36
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: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1848> (cherry picked from commit 404ca91941226faaf2479609f0109244e66d4bcd)
-rw-r--r--src/calendar-server/gnome-shell-calendar-server.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/calendar-server/gnome-shell-calendar-server.c b/src/calendar-server/gnome-shell-calendar-server.c
index defc4a6f7..ca2e73fbe 100644
--- a/src/calendar-server/gnome-shell-calendar-server.c
+++ b/src/calendar-server/gnome-shell-calendar-server.c
@@ -405,8 +405,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);
}
}