From f9bc2ad66bbd631b17d264cb1baddf600b67ed7c Mon Sep 17 00:00:00 2001 From: Chris Coulson Date: Mon, 28 Feb 2011 17:20:24 +0000 Subject: Check the return value of gdk_keyval_name, as passing NULL pointers to g_variant_builder_add can cause bad things to happen. Might fix LP: #720895 --- libdbusmenu-gtk/menuitem.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libdbusmenu-gtk/menuitem.c b/libdbusmenu-gtk/menuitem.c index 508b43f..fd8246c 100644 --- a/libdbusmenu-gtk/menuitem.c +++ b/libdbusmenu-gtk/menuitem.c @@ -194,6 +194,7 @@ dbusmenu_menuitem_property_set_shortcut (DbusmenuMenuitem * menuitem, guint key, } const gchar * keyname = gdk_keyval_name(key); + g_return_val_if_fail(keyname != NULL, FALSE); g_variant_builder_add(&builder, "s", keyname); GVariant * inside = g_variant_builder_end(&builder); -- cgit v1.2.3 From e45f9a41dd7104152d462870d6ac8feb0f64c0b5 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 1 Mar 2011 11:45:50 -0600 Subject: Move keyname check before builder is init'd --- libdbusmenu-gtk/menuitem.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libdbusmenu-gtk/menuitem.c b/libdbusmenu-gtk/menuitem.c index fd8246c..370dbf2 100644 --- a/libdbusmenu-gtk/menuitem.c +++ b/libdbusmenu-gtk/menuitem.c @@ -177,6 +177,9 @@ dbusmenu_menuitem_property_set_shortcut (DbusmenuMenuitem * menuitem, guint key, g_return_val_if_fail(DBUSMENU_IS_MENUITEM(menuitem), FALSE); g_return_val_if_fail(gtk_accelerator_valid(key, modifier), FALSE); + const gchar * keyname = gdk_keyval_name(key); + g_return_val_if_fail(keyname != NULL, FALSE); + GVariantBuilder builder; g_variant_builder_init(&builder, G_VARIANT_TYPE_ARRAY); @@ -193,8 +196,6 @@ dbusmenu_menuitem_property_set_shortcut (DbusmenuMenuitem * menuitem, guint key, g_variant_builder_add(&builder, "s", DBUSMENU_MENUITEM_SHORTCUT_SUPER); } - const gchar * keyname = gdk_keyval_name(key); - g_return_val_if_fail(keyname != NULL, FALSE); g_variant_builder_add(&builder, "s", keyname); GVariant * inside = g_variant_builder_end(&builder); -- cgit v1.2.3