[glib: 3/4] gvariant: Fix some memory leaks on error paths
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 3/4] gvariant: Fix some memory leaks on error paths
- Date: Tue, 17 Jul 2018 10:32:16 +0000 (UTC)
commit e487df31e196609546d72d1f9a420aeb109c8d09
Author: Philip Withnall <philip tecnocode co uk>
Date: Tue Jul 17 12:14:36 2018 +0200
gvariant: Fix some memory leaks on error paths
Coverity CID: #1393955
Signed-off-by: Philip Withnall <philip tecnocode co uk>
glib/gvariant.c | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
---
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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]