From a6f125058964da28378e68711d598a6f10dd4f15 Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Tue, 1 Apr 2025 12:51:50 +0200 Subject: [PATCH] Fix memleak `end_date` only gets free'd if `chatwin_db_history()` is called, which is not always the case. Signed-off-by: Steffen Jaeckel --- src/ui/window.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ui/window.c b/src/ui/window.c index 71b1cd7d..88271b34 100644 --- a/src/ui/window.c +++ b/src/ui/window.c @@ -701,12 +701,13 @@ win_page_down(ProfWin* window, int scroll_size) auto_gchar gchar* start = g_date_time_format_iso8601(last_entry->time); GDateTime* now = g_date_time_new_now_local(); gchar* end_date = g_date_time_format_iso8601(now); + g_date_time_unref(now); if (*scroll_state != WIN_SCROLL_REACHED_BOTTOM && !chatwin_db_history((ProfChatWin*)window, start, end_date, FALSE)) { *scroll_state = WIN_SCROLL_REACHED_BOTTOM; + } else if (*scroll_state == WIN_SCROLL_REACHED_BOTTOM) { + g_free(end_date); } - g_date_time_unref(now); - int offset = last_entry->y_end_pos - 1; *page_start = offset - page_space + scroll_size; }