[gnome-desktop: 7/7] Fix leak issue



commit 59ae8b35ada096d0ca063de6d5c10cab796b8cda
Author: Gunnar Hjalmarsson <gunnarhj ubuntu com>
Date:   Sun Jul 14 22:45:01 2019 +0200

    Fix leak issue

 libgnome-desktop/gnome-languages.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
---
diff --git a/libgnome-desktop/gnome-languages.c b/libgnome-desktop/gnome-languages.c
index 10bc532f..5929d97b 100644
--- a/libgnome-desktop/gnome-languages.c
+++ b/libgnome-desktop/gnome-languages.c
@@ -1354,7 +1354,7 @@ char *
 gnome_get_translated_modifier (const char *modifier,
                                const char *translation)
 {
-        const char *retval;
+        char *retval;
         GHashTable *modifiers_map;
         locale_t loc;
         locale_t old_locale;
@@ -1369,7 +1369,7 @@ gnome_get_translated_modifier (const char *modifier,
                 old_locale = uselocale (loc);
         }
 
-        modifiers_map = g_hash_table_new (g_str_hash, g_str_equal);
+        modifiers_map = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
 
         /* TRANSLATORS: Used to distinguish the labels representing the gez_ER
            and gez_ET locales from gez_ER@abegede respective gez_ET@abegede. The
@@ -1395,9 +1395,9 @@ gnome_get_translated_modifier (const char *modifier,
          */
 
         if (g_hash_table_contains (modifiers_map, modifier))
-                retval = g_hash_table_lookup (modifiers_map, modifier);
+                retval = g_strdup (g_hash_table_lookup (modifiers_map, modifier));
         else
-                retval = modifier;
+                retval = g_strdup (modifier);
 
         g_hash_table_destroy (modifiers_map);
 
@@ -1406,7 +1406,7 @@ gnome_get_translated_modifier (const char *modifier,
                 freelocale (loc);
         }
 
-        return g_strdup (retval);
+        return retval;
 }
 
 /**


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