Sophie

Sophie

distrib > Fedora > 13 > i386 > media > updates-src > by-pkgid > c4dd80f9d051e485e0a23a56b3aa7162 > files > 3

xfce4-xkb-plugin-0.5.3.3-4.fc13.src.rpm

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