From 9cbfbbdf39f002aa483e18abde0a762839202aa0 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 17 Nov 2022 23:52:35 -0500 Subject: [PATCH] stringsorter: Fix one case of collation handling When not ignoring case, and not collating, we were returning sort keys that were already freed. Oops. Pointed out by clang. --- gtk/gtkstringsorter.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gtk/gtkstringsorter.c b/gtk/gtkstringsorter.c index 507adca17c..ed2a0ac34c 100644 --- a/gtk/gtkstringsorter.c +++ b/gtk/gtkstringsorter.c @@ -86,14 +86,20 @@ gtk_string_sorter_get_key (GtkExpression *expression, switch (collation) { case GTK_COLLATION_NONE: - key = s; + if (ignore_case) + key = g_steal_pointer (&s); + else + key = g_strdup (s); break; + case GTK_COLLATION_UNICODE: key = g_utf8_collate_key (s, -1); break; + case GTK_COLLATION_FILENAME: key = g_utf8_collate_key_for_filename (s, -1); break; + default: g_assert_not_reached (); break; -- 2.30.2