aboutsummaryrefslogtreecommitdiffstats
path: root/main/libcdio
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2018-02-21 19:52:19 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2018-02-21 19:52:46 +0000
commit48d2d428c9bfb574abade3a1ec3925be03e3feff (patch)
treef642435ba64c6e4059ca24b1299e3856ef55d3a1 /main/libcdio
parent9d0a6a13b3ba812265d43a4f7ab12763ffb9ec3d (diff)
downloadaports-48d2d428c9bfb574abade3a1ec3925be03e3feff.tar.bz2
aports-48d2d428c9bfb574abade3a1ec3925be03e3feff.tar.xz
main/libcdio: fix cdtext-related double free
Diffstat (limited to 'main/libcdio')
-rw-r--r--main/libcdio/APKBUILD8
-rw-r--r--main/libcdio/fix-cdtext-double-free.patch24
2 files changed, 29 insertions, 3 deletions
diff --git a/main/libcdio/APKBUILD b/main/libcdio/APKBUILD
index bbe6920fc8..1476f4413b 100644
--- a/main/libcdio/APKBUILD
+++ b/main/libcdio/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libcdio
pkgver=0.94
-pkgrel=1
+pkgrel=2
pkgdesc="GNU Compact Disc Input and Control Library"
url="https://www.gnu.org/software/libcdio/"
arch="all"
@@ -12,7 +12,8 @@ makedepends="libcddb-dev ncurses-dev linux-headers"
install=
subpackages="$pkgname-dev $pkgname-doc $pkgname-tools ${pkgname}++:_cpp"
source="http://ftp.gnu.org/gnu/libcdio/${pkgname}-${pkgver}.tar.gz
- disable-broken-test.patch"
+ disable-broken-test.patch
+ fix-cdtext-double-free.patch"
build() {
cd "$builddir"
@@ -53,4 +54,5 @@ _cpp() {
}
sha512sums="e1d3c96c4acc7be923c97109c3f76223adc00b293278daef7d5008b1e5d67f33402f9f224f05120e9e1e8b3a8d1fa1b0bd5069dc6dd309741e3590e2c19e0e66 libcdio-0.94.tar.gz
-be0149128bb2fa131f514bcff848279d826340a99a05b958e104f4640bda1a89d6146b0ec348783f4bbd8a3c313c41297152f75ee04f492f08b337bd79dd9c3e disable-broken-test.patch"
+be0149128bb2fa131f514bcff848279d826340a99a05b958e104f4640bda1a89d6146b0ec348783f4bbd8a3c313c41297152f75ee04f492f08b337bd79dd9c3e disable-broken-test.patch
+9beb2dcecb6d7d43f4d11c7cca0de8de9eb6e580e92c5665816bd0907960dd32d3573c2591deeb4ab23fe962c16af8043f2101a8fdb8f4163ecee960ce0a545d fix-cdtext-double-free.patch"
diff --git a/main/libcdio/fix-cdtext-double-free.patch b/main/libcdio/fix-cdtext-double-free.patch
new file mode 100644
index 0000000000..46764e17e3
--- /dev/null
+++ b/main/libcdio/fix-cdtext-double-free.patch
@@ -0,0 +1,24 @@
+From f6f9c48fb40b8a1e8218799724b0b61a7161eb1d Mon Sep 17 00:00:00 2001
+From: "R. Bernstein" <rocky@gnu.org>
+Date: Fri, 22 Dec 2017 16:06:57 -0500
+Subject: Fix double free courtesy of Chris Clayton
+
+---
+ lib/driver/_cdio_generic.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/lib/driver/_cdio_generic.c b/lib/driver/_cdio_generic.c
+index d40ac0d..ae820d2 100644
+--- a/lib/driver/_cdio_generic.c
++++ b/lib/driver/_cdio_generic.c
+@@ -296,7 +296,6 @@ get_cdtext_generic (void *p_user_data)
+
+ if(len <= 0 || 0 != cdtext_data_init (p_env->cdtext, &p_cdtext_data[4], len)) {
+ p_env->b_cdtext_error = true;
+- cdtext_destroy (p_env->cdtext);
+ free(p_env->cdtext);
+ p_env->cdtext = NULL;
+ }
+--
+cgit v1.0-41-gc330
+