From 2856ccfd12b7d9844538ea43a34e9f7af9e945a6 Mon Sep 17 00:00:00 2001 From: Lionel Le Folgoc <mrpouit@ubuntu.com> Date: Mon, 8 Feb 2010 20:05:12 +0100 Subject: [PATCH 1/2] Use g_strdup("") for options, instead of "", because it is later free'd (thus segfaults). --- panel-plugin/xkb-config.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/panel-plugin/xkb-config.c b/panel-plugin/xkb-config.c index bff77dd..020e915 100644 --- a/panel-plugin/xkb-config.c +++ b/panel-plugin/xkb-config.c @@ -290,7 +290,7 @@ xkb_config_update_settings (t_xkb_settings *settings) if (settings->kbd_config->toggle_option && strlen (settings->kbd_config->toggle_option) > 0) options = g_strdup (settings->kbd_config->toggle_option); - else options = ""; + else options = g_strdup (""); if (settings->kbd_config->compose_key_position && strlen (settings->kbd_config->compose_key_position) > 0) -- 1.6.3.3 From 04022389eee43503381f88f4f14ea76ec4941464 Mon Sep 17 00:00:00 2001 From: Lionel Le Folgoc <mrpouit@ubuntu.com> Date: Mon, 8 Feb 2010 20:28:37 +0100 Subject: [PATCH 2/2] Fix another segfault. --- panel-plugin/xkb-config.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/panel-plugin/xkb-config.c b/panel-plugin/xkb-config.c index 020e915..8546b31 100644 --- a/panel-plugin/xkb-config.c +++ b/panel-plugin/xkb-config.c @@ -312,11 +312,11 @@ xkb_config_update_settings (t_xkb_settings *settings) { prefix = g_strsplit(*opt, ":", 2); if (settings->kbd_config->toggle_option == NULL - && prefix && strcmp(*prefix, "grp") == 0) + && prefix && *prefix && strcmp(*prefix, "grp") == 0) { settings->kbd_config->toggle_option = g_strdup (*opt); } - else if (prefix && strcmp(*prefix, "compose") == 0) + else if (prefix && *prefix && strcmp(*prefix, "compose") == 0) { settings->kbd_config->compose_key_position = g_strdup (*opt); } -- 1.6.3.3