[gdm] libgdm: "Fix" a memory leak
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdm] libgdm: "Fix" a memory leak
- Date: Mon, 26 Feb 2018 21:50:27 +0000 (UTC)
commit 1e36e8d766210c4e0e050d29c70c91430d5c49de
Author: Florian Müllner <fmuellner gnome org>
Date: Mon Feb 26 19:52:50 2018 +0100
libgdm: "Fix" a memory leak
The gdm_available_sessions_map hash table is set up with a value-free
function that frees the struct itself, but not its contents.
Of course elements are never removed from the map, so this fix doesn't
matter in practice.
https://bugzilla.gnome.org/show_bug.cgi?id=793855
libgdm/gdm-sessions.c | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
---
diff --git a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c
index ee98135..8bf7bd7 100644
--- a/libgdm/gdm-sessions.c
+++ b/libgdm/gdm-sessions.c
@@ -48,6 +48,16 @@ static GHashTable *gdm_available_sessions_map;
static gboolean gdm_sessions_map_is_initialized = FALSE;
+static void
+gdm_session_file_free (GdmSessionFile *session)
+{
+ g_free (session->id);
+ g_free (session->path);
+ g_free (session->translated_name);
+ g_free (session->translated_comment);
+ g_free (session);
+}
+
/* adapted from gnome-menus desktop-entries.c */
static gboolean
key_file_is_relevant (GKeyFile *key_file)
@@ -223,7 +233,7 @@ collect_sessions (void)
if (gdm_available_sessions_map == NULL) {
gdm_available_sessions_map = g_hash_table_new_full (g_str_hash, g_str_equal,
- g_free, g_free);
+ g_free,
(GDestroyNotify)gdm_session_file_free);
}
for (i = 0; xorg_search_dirs [i] != NULL; i++) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]