diff --git a/extra/enlightenment/PKGBUILD b/extra/enlightenment/PKGBUILD index 9ce21380d..a78521596 100644 --- a/extra/enlightenment/PKGBUILD +++ b/extra/enlightenment/PKGBUILD @@ -1,9 +1,12 @@ # Maintainer: Ronald van Haren # Contributor: Enlightenment Developers > +# ALARM: Nicolas Boichat +# - Add upstream patch to fix overflow in e_desk.c + pkgname=enlightenment pkgver=0.18.8 -pkgrel=1 +pkgrel=1.1 pkgdesc="Enlightenment window manager" arch=('i686' 'x86_64') url="http://www.enlightenment.org" @@ -17,9 +20,16 @@ conflicts=("enlightenment17") replaces=("enlightenment17") backup=('etc/enlightenment/sysactions.conf' 'etc/xdg/menus/enlightenment.menu') -source=(http://download.enlightenment.org/rel/apps/${pkgname}/$pkgname-$pkgver.tar.gz) +source=(http://download.enlightenment.org/rel/apps/${pkgname}/$pkgname-$pkgver.tar.gz + enlightenment-0.18.8-e-desk-overflow.patch) install=enlightenment.install -sha1sums=('71d6212fc55ba65a47d656b0bc4891684445e3ff') +sha1sums=('71d6212fc55ba65a47d656b0bc4891684445e3ff' + 'd915cfde817dddd9e2ecf673aea53dfd06344813') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i "${srcdir}/enlightenment-0.18.8-e-desk-overflow.patch" +} build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/enlightenment/enlightenment-0.18.8-e-desk-overflow.patch b/extra/enlightenment/enlightenment-0.18.8-e-desk-overflow.patch new file mode 100644 index 000000000..57041d17a --- /dev/null +++ b/extra/enlightenment/enlightenment-0.18.8-e-desk-overflow.patch @@ -0,0 +1,26 @@ +From 9e6c276905b13fb4a2d795fee5f98d52aecb354b Mon Sep 17 00:00:00 2001 +From: Carlos Rafael Giani +Date: Sun, 1 Jun 2014 14:45:49 +0200 +Subject: bugfix: Fix buffer overflow in desk_show. + +Was the wrong structure type which caused writing after the allocated +size and was generally bad and wrong. + +Signed-off-by: Carlos Rafael Giani + +diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c +index 8c97364..854946a 100644 +--- a/src/bin/e_desk.c ++++ b/src/bin/e_desk.c +@@ -224,7 +224,7 @@ e_desk_show(E_Desk *desk) + E_Event_Desk_Show *ev; + E_Event_Desk_Before_Show *eev; + E_Event_Desk_After_Show *eeev; +- Edje_Message_Float_Set *msg; ++ Edje_Message_Int_Set *msg; + Eina_List *l; + E_Shelf *es; + int was_zone = 0, x, y, dx = 0, dy = 0; +-- +cgit v0.10.1 +