aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/menuitem.c
diff options
context:
space:
mode:
authorChris Coulson <chris.coulson@canonical.com>2013-01-29 17:39:18 +0000
committerTarmac <Unknown>2013-01-29 17:39:18 +0000
commit98e06d95065f3c4fd48fec74c738f51116b8c8f2 (patch)
treeef71748b924be491dc22fa6370ab62c9bfdb92d6 /libdbusmenu-glib/menuitem.c
parentb6565b19137f305773e395465a7b8d43ba3404b8 (diff)
parent189c658f5f76da5995a06a7c6dadf9f09dc9a5ee (diff)
downloadlibdbusmenu-98e06d95065f3c4fd48fec74c738f51116b8c8f2.tar.gz
libdbusmenu-98e06d95065f3c4fd48fec74c738f51116b8c8f2.tar.bz2
libdbusmenu-98e06d95065f3c4fd48fec74c738f51116b8c8f2.zip
Fix multiple leaks due to improper use of g_variant_parse() (fixes bug 1104136). Fixes: https://bugs.launchpad.net/bugs/1104136.
Approved by Ted Gould, PS Jenkins bot.
Diffstat (limited to 'libdbusmenu-glib/menuitem.c')
-rw-r--r--libdbusmenu-glib/menuitem.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c
index 42c3709..cd9f978 100644
--- a/libdbusmenu-glib/menuitem.c
+++ b/libdbusmenu-glib/menuitem.c
@@ -1656,7 +1656,9 @@ dbusmenu_menuitem_build_variant (DbusmenuMenuitem * mi, const gchar ** propertie
if (props != NULL) {
g_variant_builder_add_value(&tupleb, props);
} else {
- g_variant_builder_add_value(&tupleb, g_variant_parse(G_VARIANT_TYPE("a{sv}"), "[ ]", NULL, NULL, NULL));
+ GVariant *empty_props = g_variant_parse(G_VARIANT_TYPE("a{sv}"), "[ ]", NULL, NULL, NULL);
+ g_variant_builder_add_value(&tupleb, empty_props);
+ g_variant_unref(empty_props);
}
/* Pillage the children */