File fix-fcitx-4.2.4.1-memory-overflow.patch of Package fcitx

diff -urN fcitx-4.2.4.1.orig/src/module/xkb/xkb.c fcitx-4.2.4.1/src/module/xkb/xkb.c
--- fcitx-4.2.4.1.orig/src/module/xkb/xkb.c	2012-06-16 22:27:00.087029656 +0800
+++ fcitx-4.2.4.1/src/module/xkb/xkb.c	2012-06-16 22:29:18.941293740 +0800
@@ -197,8 +197,7 @@
             xkbParentDir = strdup("/usr/share/X11");
         }
 
-        rulesFile = fcitx_utils_malloc0(sizeof(char) * (1 + strlen(xkbParentDir) + strlen(rulesName) + strlen("/xkb/rules/")));
-        sprintf(rulesFile, "%s/xkb/rules/%s.xml", xkbParentDir, rulesName);
+        asprintf(&rulesFile, "%s/xkb/rules/%s.xml", xkbParentDir, rulesName);
         fcitx_utils_free(xkbParentDir);
     }
 
diff -urN fcitx-4.2.4.1.orig/src/ui/classic/skin.c fcitx-4.2.4.1/src/ui/classic/skin.c
--- fcitx-4.2.4.1.orig/src/ui/classic/skin.c	2012-06-16 22:27:00.090029620 +0800
+++ fcitx-4.2.4.1/src/ui/classic/skin.c	2012-06-16 22:30:39.775283176 +0800
@@ -216,7 +216,7 @@
     const char* fallbackChainNoFallback[] = { buf };
     const char* fallbackChainPanel[] = { buf, "skin/default" };
     const char* fallbackChainTray[] = { "imicon" };
-    const char* fallbackChainPanelIMIcon[] = { buf, "imicon" };
+    const char* fallbackChainPanelIMIcon[] = { buf, "imicon", "skin/default" };
 
     HASH_FIND_STR(*imageTable, name, image);
     if (image != NULL) {