[arch-commits] Commit in xfce4-xkb-plugin/trunk (2 files)
Evangelos Foutras
foutrelis at archlinux.org
Mon Oct 15 14:42:29 UTC 2012
Date: Monday, October 15, 2012 @ 10:42:29
Author: foutrelis
Revision: 168752
upgpkg: xfce4-xkb-plugin 0.5.4.3-3
Fix memory corruption. (FS#31880)
Added:
xfce4-xkb-plugin/trunk/xfce4-xkb-plugin-0.5.4.3-2-fix-memory-corruption.patch
Modified:
xfce4-xkb-plugin/trunk/PKGBUILD
--------------------------------------------------------+
PKGBUILD | 11 ++
xfce4-xkb-plugin-0.5.4.3-2-fix-memory-corruption.patch | 59 +++++++++++++++
2 files changed, 67 insertions(+), 3 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2012-10-15 14:14:41 UTC (rev 168751)
+++ PKGBUILD 2012-10-15 14:42:29 UTC (rev 168752)
@@ -5,7 +5,7 @@
pkgname=xfce4-xkb-plugin
pkgver=0.5.4.3
-pkgrel=2
+pkgrel=3
pkgdesc="Plugin to switch keyboard layouts for the Xfce4 panel"
arch=('i686' 'x86_64')
url="http://goodies.xfce.org/projects/panel-plugins/xfce4-xkb-plugin"
@@ -14,12 +14,17 @@
depends=('xfce4-panel' 'libxklavier' 'librsvg')
makedepends=('intltool')
options=('!libtool')
-source=(http://archive.xfce.org/src/panel-plugins/$pkgname/0.5/$pkgname-$pkgver.tar.bz2)
-sha256sums=('ca4801bb2edfe04eeceb71879b3cf79a0674e8311c39117efdb9d3521307396d')
+source=(http://archive.xfce.org/src/panel-plugins/$pkgname/0.5/$pkgname-$pkgver.tar.bz2
+ xfce4-xkb-plugin-0.5.4.3-2-fix-memory-corruption.patch)
+sha256sums=('ca4801bb2edfe04eeceb71879b3cf79a0674e8311c39117efdb9d3521307396d'
+ 'f5e6e5964df897045ed8c3443f632033689409459acdc54c0351264edc11b4ce')
build() {
cd "$srcdir/$pkgname-$pkgver"
+ # https://bugs.archlinux.org/task/31880
+ patch -Np1 -i "$srcdir/xfce4-xkb-plugin-0.5.4.3-2-fix-memory-corruption.patch"
+
./configure \
--prefix=/usr \
--sysconfdir=/etc \
Added: xfce4-xkb-plugin-0.5.4.3-2-fix-memory-corruption.patch
===================================================================
--- xfce4-xkb-plugin-0.5.4.3-2-fix-memory-corruption.patch (rev 0)
+++ xfce4-xkb-plugin-0.5.4.3-2-fix-memory-corruption.patch 2012-10-15 14:42:29 UTC (rev 168752)
@@ -0,0 +1,59 @@
+From ac73bc9de624d322b318c2eda0ace7f0bee97a64 Mon Sep 17 00:00:00 2001
+From: Igor Slepchin <igor.slepchin at gmail.com>
+Date: Thu, 19 Jul 2012 05:59:40 +0000
+Subject: Fix memory corruption.
+
+g_free(c) in the original code was freeing memory at the pointer
+that was incremented a few times since the allocation.
+
+This is similar to ubuntu bug #899290 and fedora bug 589898.
+---
+diff --git a/panel-plugin/xkb-util.c b/panel-plugin/xkb-util.c
+index d0d0230..324928f 100644
+--- a/panel-plugin/xkb-util.c
++++ b/panel-plugin/xkb-util.c
+@@ -66,11 +66,10 @@ xkb_util_get_layout_string (const gchar *group_name, const gchar *variant)
+ gchar*
+ xkb_util_normalize_group_name (const gchar* group_name)
+ {
+- gchar *c;
++ const gchar *c;
+ gchar *result;
+ gint cut_length;
+ gint index_of_na = -1;
+- gint index_tmp = -1;
+
+ if (!group_name)
+ return NULL;
+@@ -78,27 +77,19 @@ xkb_util_normalize_group_name (const gchar* group_name)
+ if (strlen (group_name) <= 3)
+ return g_strdup (group_name);
+
+- c = g_strdup (group_name);
+-
+- while (*c)
++ for (c = group_name; *c; c++)
+ {
+- index_tmp++;
+-
+ if (!((*c >= 'a' && *c <= 'z') || (*c >= 'A' && *c <= 'Z')))
+ {
+- index_of_na = index_tmp;
++ index_of_na = group_name - c;
+ break;
+ }
+-
+- c++;
+ }
+
+ cut_length = (index_of_na != -1 && index_of_na <= 3) ? index_of_na : 3;
+
+ result = g_strndup (group_name, cut_length);
+
+- g_free (c);
+-
+ return result;
+ }
+
+--
+cgit v0.9.0.3
More information about the arch-commits
mailing list