[gnome-shell/cherry-pick-404ca919] calendar-server: Fix double-free detection abort




commit 05581bf81f774fc5f5370e5e5db11b51f6152cbd
Author: Gustavo Noronha Silva <gustavo noronha dev br>
Date:   Tue May 18 15:28:43 2021 -0300

    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: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1848>
    
    
    (cherry picked from commit 404ca91941226faaf2479609f0109244e66d4bcd)

 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 61ac92785e..4c5a64542b 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);
         }
     }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]