[glib] gdbusutils: Fix a memory leak in g_dbus_gvalue_to_gvariant()
- From: Philip Withnall <pwithnall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] gdbusutils: Fix a memory leak in g_dbus_gvalue_to_gvariant()
- Date: Tue, 28 Nov 2017 14:30:24 +0000 (UTC)
commit 37d9b0c6995f97ea0f744650aaf5179081f878ba
Author: Philip Withnall <withnall endlessm com>
Date: Wed Nov 15 12:26:26 2017 +0000
gdbusutils: Fix a memory leak in g_dbus_gvalue_to_gvariant()
g_variant_get_normal_form() doesn’t necessarily return a floating
GVariant, so we have to take, rather than sink, the ref.
This fixes a lot of leaks with gdbus-codegen-generated code.
Signed-off-by: Philip Withnall <withnall endlessm com>
https://bugzilla.gnome.org/show_bug.cgi?id=741167
gio/gdbusutils.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/gio/gdbusutils.c b/gio/gdbusutils.c
index ff036c7..bfca02d 100644
--- a/gio/gdbusutils.c
+++ b/gio/gdbusutils.c
@@ -685,7 +685,7 @@ g_dbus_gvalue_to_gvariant (const GValue *gvalue,
{
GVariant *untrusted_empty;
untrusted_empty = g_variant_new_from_data (type, NULL, 0, FALSE, NULL, NULL);
- ret = g_variant_ref_sink (g_variant_get_normal_form (untrusted_empty));
+ ret = g_variant_take_ref (g_variant_get_normal_form (untrusted_empty));
g_variant_unref (untrusted_empty);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]