summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gmail.com>2018-07-17 10:29:26 +0000
committerEmmanuele Bassi <ebassi@gmail.com>2018-07-17 10:29:26 +0000
commitbb8420f117d27c89a9ae49a374b336e43dc7c1b2 (patch)
tree9ce5eeb1af6899f5143c3e29856191271628e541
parent7f55c768ce16dac4acdfe4b9270018a5c23d4efa (diff)
parente487df31e196609546d72d1f9a420aeb109c8d09 (diff)
downloadglib-bb8420f117d27c89a9ae49a374b336e43dc7c1b2.tar.gz
Merge branch 'coverity' into 'master'
Minor memory leak fixes from Coverity See merge request GNOME/glib!184
-rw-r--r--gio/gio-tool-move.c1
-rw-r--r--gio/gsettings.c8
-rw-r--r--glib/gvariant.c22
3 files changed, 21 insertions, 10 deletions
diff --git a/gio/gio-tool-move.c b/gio/gio-tool-move.c
index 89c1ed5a5..5755f59d4 100644
--- a/gio/gio-tool-move.c
+++ b/gio/gio-tool-move.c
@@ -106,6 +106,7 @@ handle_move (int argc, char *argv[], gboolean do_help)
if (do_help)
{
show_help (context, NULL);
+ g_option_context_free (context);
return 0;
}
diff --git a/gio/gsettings.c b/gio/gsettings.c
index 194a73778..ab7f43835 100644
--- a/gio/gsettings.c
+++ b/gio/gsettings.c
@@ -2921,10 +2921,12 @@ g_settings_bind_with_mapping (GSettings *settings,
if (!g_variant_type_equal (binding->key.type, G_VARIANT_TYPE_BOOLEAN))
{
+ gchar *type_string = g_variant_type_dup_string (binding->key.type);
g_critical ("g_settings_bind: G_SETTINGS_BIND_INVERT_BOOLEAN "
"was specified, but key '%s' on schema '%s' has "
"type '%s'", key, g_settings_schema_get_id (settings->priv->schema),
- g_variant_type_dup_string (binding->key.type));
+ type_string);
+ g_free (type_string);
return;
}
@@ -2935,12 +2937,14 @@ g_settings_bind_with_mapping (GSettings *settings,
!g_settings_mapping_is_compatible (binding->property->value_type,
binding->key.type))
{
+ gchar *type_string = g_variant_type_dup_string (binding->key.type);
g_critical ("g_settings_bind: property '%s' on class '%s' has type "
"'%s' which is not compatible with type '%s' of key '%s' "
"on schema '%s'", binding->property->name, G_OBJECT_TYPE_NAME (object),
g_type_name (binding->property->value_type),
- g_variant_type_dup_string (binding->key.type), key,
+ type_string, key,
g_settings_schema_get_id (settings->priv->schema));
+ g_free (type_string);
return;
}
diff --git a/glib/gvariant.c b/glib/gvariant.c
index 6a9b37c9a..4dbce8c60 100644
--- a/glib/gvariant.c
+++ b/glib/gvariant.c
@@ -4738,10 +4738,13 @@ g_variant_valist_new_nnp (const gchar **str,
type = g_variant_type_element (type);
if G_UNLIKELY (!g_variant_type_is_subtype_of (type, (GVariantType *) *str))
- g_error ("g_variant_new: expected GVariantBuilder array element "
- "type '%s' but the built value has element type '%s'",
- g_variant_type_dup_string ((GVariantType *) *str),
- g_variant_get_type_string (value) + 1);
+ {
+ gchar *type_string = g_variant_type_dup_string ((GVariantType *) *str);
+ g_error ("g_variant_new: expected GVariantBuilder array element "
+ "type '%s' but the built value has element type '%s'",
+ type_string, g_variant_get_type_string (value) + 1);
+ g_free (type_string);
+ }
g_variant_type_string_scan (*str, NULL, str);
@@ -4803,10 +4806,13 @@ g_variant_valist_new_nnp (const gchar **str,
case '@':
if G_UNLIKELY (!g_variant_is_of_type (ptr, (GVariantType *) *str))
- g_error ("g_variant_new: expected GVariant of type '%s' but "
- "received value has type '%s'",
- g_variant_type_dup_string ((GVariantType *) *str),
- g_variant_get_type_string (ptr));
+ {
+ gchar *type_string = g_variant_type_dup_string ((GVariantType *) *str);
+ g_error ("g_variant_new: expected GVariant of type '%s' but "
+ "received value has type '%s'",
+ type_string, g_variant_get_type_string (ptr));
+ g_free (type_string);
+ }
g_variant_type_string_scan (*str, NULL, str);