From c7b1c977f73a665857199895dcbae381715684a1 Mon Sep 17 00:00:00 2001 From: John Cardullo Date: Mon, 5 Oct 2026 13:30:32 -0700 Subject: [PATCH] core/calendar-monitor: Clear shared rw-lock on finalize In gcal_calendar_monitor_init(), self->shared.lock is initialized with g_rw_lock_init(). On Linux/glibc, GRWLock allocates memory for the underlying pthread_rwlock_t (56 bytes). Because g_rw_lock_clear() was never called in gcal_calendar_monitor_finalize(), every finalized GcalCalendarMonitor leaked its lock resources, failing the LeakSanitizer CI build when test_calendar_monitor_expand_recurrences was added. Part-of: --- src/core/gcal-calendar-monitor.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/gcal-calendar-monitor.c b/src/core/gcal-calendar-monitor.c index 0a6dac79..5bb40f3b 100644 --- a/src/core/gcal-calendar-monitor.c +++ b/src/core/gcal-calendar-monitor.c @@ -1327,6 +1327,8 @@ gcal_calendar_monitor_finalize (GObject *object) g_clear_pointer (&self->shared.filter, g_free); g_clear_pointer (&self->shared.range, gcal_range_unref); + g_rw_lock_clear (&self->shared.lock); + G_OBJECT_CLASS (gcal_calendar_monitor_parent_class)->finalize (object); }