summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/core/elfutils/CVE-2014-0172.patch37
-rw-r--r--abs/core/elfutils/PKGBUILD45
-rw-r--r--abs/core/elfutils/fix-run-backtrace-native-core-test.patch43
3 files changed, 110 insertions, 15 deletions
diff --git a/abs/core/elfutils/CVE-2014-0172.patch b/abs/core/elfutils/CVE-2014-0172.patch
new file mode 100644
index 0000000..5f9541d
--- /dev/null
+++ b/abs/core/elfutils/CVE-2014-0172.patch
@@ -0,0 +1,37 @@
+From 7f1eec317db79627b473c5b149a22a1b20d1f68f Mon Sep 17 00:00:00 2001
+From: Mark Wielaard <mjw@redhat.com>
+Date: Wed, 9 Apr 2014 11:33:23 +0200
+Subject: [PATCH] CVE-2014-0172 Check for overflow before calling malloc to
+ uncompress data.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1085663
+
+Reported-by: Florian Weimer <fweimer@redhat.com>
+Signed-off-by: Mark Wielaard <mjw@redhat.com>
+diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c
+index 79daeac..34ea373 100644
+--- a/libdw/dwarf_begin_elf.c
++++ b/libdw/dwarf_begin_elf.c
+@@ -1,5 +1,5 @@
+ /* Create descriptor from ELF descriptor for processing file.
+- Copyright (C) 2002-2011 Red Hat, Inc.
++ Copyright (C) 2002-2011, 2014 Red Hat, Inc.
+ This file is part of elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+@@ -282,6 +282,12 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
+ memcpy (&size, data->d_buf + 4, sizeof size);
+ size = be64toh (size);
+
++ /* Check for unsigned overflow so malloc always allocated
++ enough memory for both the Elf_Data header and the
++ uncompressed section data. */
++ if (unlikely (sizeof (Elf_Data) + size < size))
++ break;
++
+ Elf_Data *zdata = malloc (sizeof (Elf_Data) + size);
+ if (unlikely (zdata == NULL))
+ break;
+--
+1.9.2
+
diff --git a/abs/core/elfutils/PKGBUILD b/abs/core/elfutils/PKGBUILD
index 8cbee1e..6a7485d 100644
--- a/abs/core/elfutils/PKGBUILD
+++ b/abs/core/elfutils/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 163718 2012-07-18 03:05:26Z eric $
-# Maintainer:
+# $Id$
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Andrej Gelenberg <andrej.gelenberg@udo.edu>
pkgname=elfutils
-pkgver=0.154
-pkgrel=1
-pkgdesc="Collection of libraries and utilities for working with ELF object files and DWARF debugging information"
+pkgver=0.158
+pkgrel=2
+pkgdesc="Libraries and utilities to handle ELF object files and DWARF debugging information"
arch=('i686' 'x86_64')
url="https://fedorahosted.org/elfutils/"
license=('LGPL3' 'GPL' 'GPL3')
@@ -13,27 +13,42 @@ depends=('gcc-libs' 'zlib' 'bzip2' 'xz')
provides=('libelf')
replaces=('libelf')
conflicts=('libelf')
-options=('!makeflags')
-source=(https://fedorahosted.org/releases/e/l/elfutils/${pkgver}/elfutils-${pkgver}.tar.bz2{,.sig} \
- elfutils-0.154-binutils-pr-ld-13621.patch)
-sha1sums=('3a92a6f636cc3d14d4b3b00ba5c1e88a2a8d510b'
- '956461d44b03823e0b448e78b1f4aa25ef269e1e'
- '09681b728edb86c77eed47286554bef048f3507f')
+source=(https://fedorahosted.org/releases/e/l/elfutils/${pkgver}/elfutils-${pkgver}.tar.bz2{,.sig}
+ fix-run-backtrace-native-core-test.patch
+ CVE-2014-0172.patch)
+options=('staticlibs')
+sha1sums=('09adbbf0f3a35bb1bcb77c2eaa40de8d3443af4d'
+ 'SKIP'
+ '8ecef640f3d1229cdf45ffda016a69848c18e61b'
+ '3e776c07d6ca2c7604a384d266f79c3ece1fb179')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+
+ patch -Np1 -i ../fix-run-backtrace-native-core-test.patch
+ # merged upstream
+ patch -Np1 -i ../CVE-2014-0172.patch
+}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
+
CFLAGS+=" -g" # required for test-suite success
- patch -p1 -i "${srcdir}/elfutils-0.154-binutils-pr-ld-13621.patch"
./configure --prefix=/usr --program-prefix="eu-"
+
make
}
check() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
+
make check
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
+
make DESTDIR="${pkgdir}" install
+
+ rm "${pkgdir}"/usr/lib/lib{asm,dw,elf}.a
}
diff --git a/abs/core/elfutils/fix-run-backtrace-native-core-test.patch b/abs/core/elfutils/fix-run-backtrace-native-core-test.patch
new file mode 100644
index 0000000..5088ea5
--- /dev/null
+++ b/abs/core/elfutils/fix-run-backtrace-native-core-test.patch
@@ -0,0 +1,43 @@
+From e922ec4e3bcd7c164a9ce424accac4394e7d5afd Mon Sep 17 00:00:00 2001
+From: Matthias Klose <doko@ubuntu.com>
+Date: Tue, 07 Jan 2014 09:25:29 +0000
+Subject: tests: backtrace-subr.sh (check_native_core) should check core file name.
+
+Needed when /proc/sys/kernel/core_uses_pid is set to 0. Try to rename
+the core file, and if it does still fail, skip the test.
+
+Signed-off-by: Mark Wielaard <mjw@redhat.com>
+---
+diff --git a/tests/ChangeLog b/tests/ChangeLog
+index 63b7bed..7e9dcf4 100644
+--- a/tests/ChangeLog
++++ b/tests/ChangeLog
+@@ -1,3 +1,9 @@
++2014-01-07 Matthias Klose <doko@ubuntu.com>
++
++ * backtrace-subr.sh (check_native_core): Check to see if core file
++ was created without ".PID" extension, if so mv core to core.PID.
++ Skip test if no core file was created or could be found.
++
+ 2014-01-04 Mark Wielaard <mjw@redhat.com>
+
+ * backtrace-data.c (main): Don't assert if raise returns.
+diff --git a/tests/backtrace-subr.sh b/tests/backtrace-subr.sh
+index e7ece91..62b873c 100644
+--- a/tests/backtrace-subr.sh
++++ b/tests/backtrace-subr.sh
+@@ -111,6 +111,11 @@ check_native_core()
+
+ # Skip the test if we cannot adjust core ulimit.
+ core="core.`ulimit -c unlimited || exit 77; set +ex; testrun ${abs_builddir}/$child --gencore; true`"
++ # see if /proc/sys/kernel/core_uses_pid is set to 0
++ if [ -f core ]; then
++ mv core "$core"
++ fi
++ if [ ! -f "$core" ]; then exit 77; fi
+
+ if [ "x$SAVED_VALGRIND_CMD" != "x" ]; then
+ VALGRIND_CMD="$SAVED_VALGRIND_CMD"
+--
+cgit v0.9.2
+