Date: Friday, November 14, 2014 @ 10:43:03 Author: ronald Revision: 122550
upgpkg: libxdg-basedir 1.2.0-3 fix buffer overflow FS#39490 Added: libxdg-basedir/trunk/xdgGetRelativeHome-overflow.patch Modified: libxdg-basedir/trunk/PKGBUILD -----------------------------------+ PKGBUILD | 15 ++++++++++++--- xdgGetRelativeHome-overflow.patch | 11 +++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2014-11-14 09:35:26 UTC (rev 122549) +++ PKGBUILD 2014-11-14 09:43:03 UTC (rev 122550) @@ -3,20 +3,29 @@ pkgname=libxdg-basedir pkgver=1.2.0 -pkgrel=2 +pkgrel=3 pkgdesc="An implementation of the XDG Base Directory specifications." arch=('i686' 'x86_64') -url="http://n.ethz.ch/student/nevillm/download/libxdg-basedir" +#url="http://n.ethz.ch/student/nevillm/download/libxdg-basedir" +url="https://github.com/devnev/$pkgname" license=('MIT') depends=('glibc') source=(https://github.com/devnev/$pkgname/archive/$pkgname-$pkgver.tar.gz + 'xdgGetRelativeHome-overflow.patch' 'LICENSE') sha1sums=('e671b01b17c8cf785d95dd3aefa93e7cf31e56a5' + '90ce224344f8075c4ce8241b8f8bf13b8968eec5' 'c76efede60d0632d4241d718919d8b4ec62056b3') +prepare() { + cd "${srcdir}/$pkgname-$pkgname-$pkgver" + +# FS#39490: Fix buffer overflow + patch -Np0 -i "${srcdir}/xdgGetRelativeHome-overflow.patch" +} + build() { cd "${srcdir}/$pkgname-$pkgname-$pkgver" - ./autogen.sh --prefix=/usr make } Added: xdgGetRelativeHome-overflow.patch =================================================================== --- xdgGetRelativeHome-overflow.patch (rev 0) +++ xdgGetRelativeHome-overflow.patch 2014-11-14 09:43:03 UTC (rev 122550) @@ -0,0 +1,11 @@ +--- src/basedir.c.orig 2014-03-16 20:26:36.938576209 +0100 ++++ src/basedir.c 2014-03-16 20:27:50.212192889 +0100 +@@ -574,7 +574,7 @@ + unsigned int homelen; + if (!(home = xdgGetEnv("HOME"))) + return NULL; +- if (!(relhome = (char*)malloc((homelen = strlen(home))+fallbacklength))) return NULL; ++ if (!(relhome = (char*)malloc((homelen = strlen(home))+fallbacklength+1))) return NULL; + memcpy(relhome, home, homelen); + memcpy(relhome+homelen, relativefallback, fallbacklength+1); + }