Do not leak strings from GKeyFile
The string getters always copy, so we need to free the returned values.
This commit is contained in:
parent
31bee53eb7
commit
7bd5659962
@ -225,7 +225,7 @@ clutter_config_read_from_key_file (GKeyFile *keyfile)
|
|||||||
GError *key_error = NULL;
|
GError *key_error = NULL;
|
||||||
gboolean bool_value;
|
gboolean bool_value;
|
||||||
gint int_value;
|
gint int_value;
|
||||||
const gchar *str_value;
|
gchar *str_value;
|
||||||
|
|
||||||
if (!g_key_file_has_group (keyfile, ENVIRONMENT_GROUP))
|
if (!g_key_file_has_group (keyfile, ENVIRONMENT_GROUP))
|
||||||
return;
|
return;
|
||||||
@ -294,6 +294,8 @@ clutter_config_read_from_key_file (GKeyFile *keyfile)
|
|||||||
else
|
else
|
||||||
clutter_text_direction = CLUTTER_TEXT_DIRECTION_LTR;
|
clutter_text_direction = CLUTTER_TEXT_DIRECTION_LTR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_free (str_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CLUTTER_ENABLE_DEBUG
|
#ifdef CLUTTER_ENABLE_DEBUG
|
||||||
@ -301,7 +303,7 @@ static void
|
|||||||
clutter_debug_read_from_key_file (GKeyFile *keyfile)
|
clutter_debug_read_from_key_file (GKeyFile *keyfile)
|
||||||
{
|
{
|
||||||
GError *key_error = NULL;
|
GError *key_error = NULL;
|
||||||
const gchar *value;
|
gchar *value;
|
||||||
|
|
||||||
if (!g_key_file_has_group (keyfile, DEBUG_GROUP))
|
if (!g_key_file_has_group (keyfile, DEBUG_GROUP))
|
||||||
return;
|
return;
|
||||||
@ -319,6 +321,8 @@ clutter_debug_read_from_key_file (GKeyFile *keyfile)
|
|||||||
else
|
else
|
||||||
g_clear_error (&key_error);
|
g_clear_error (&key_error);
|
||||||
|
|
||||||
|
g_free (value);
|
||||||
|
|
||||||
value = g_key_file_get_value (keyfile, DEBUG_GROUP,
|
value = g_key_file_get_value (keyfile, DEBUG_GROUP,
|
||||||
"PaintDebug",
|
"PaintDebug",
|
||||||
&key_error);
|
&key_error);
|
||||||
@ -332,6 +336,8 @@ clutter_debug_read_from_key_file (GKeyFile *keyfile)
|
|||||||
else
|
else
|
||||||
g_clear_error (&key_error);
|
g_clear_error (&key_error);
|
||||||
|
|
||||||
|
g_free (value);
|
||||||
|
|
||||||
value = g_key_file_get_value (keyfile, DEBUG_GROUP,
|
value = g_key_file_get_value (keyfile, DEBUG_GROUP,
|
||||||
"PickDebug",
|
"PickDebug",
|
||||||
&key_error);
|
&key_error);
|
||||||
@ -344,6 +350,8 @@ clutter_debug_read_from_key_file (GKeyFile *keyfile)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
g_clear_error (&key_error);
|
g_clear_error (&key_error);
|
||||||
|
|
||||||
|
g_free (value);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -760,12 +760,12 @@ _clutter_settings_read_from_key_file (ClutterSettings *settings,
|
|||||||
|
|
||||||
case G_TYPE_STRING:
|
case G_TYPE_STRING:
|
||||||
{
|
{
|
||||||
const gchar *val;
|
gchar *val;
|
||||||
|
|
||||||
val = g_key_file_get_string (keyfile,
|
val = g_key_file_get_string (keyfile,
|
||||||
SETTINGS_GROUP, p_name,
|
SETTINGS_GROUP, p_name,
|
||||||
&key_error);
|
&key_error);
|
||||||
g_value_set_string (&value, val);
|
g_value_take_string (&value, val);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user