From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/libcdio/, dev-libs/libcdio/files/
Date: Sat, 7 Apr 2018 20:49:29 +0000 (UTC) [thread overview]
Message-ID: <1523134128.0bdae1a3845db5572b948a1f8a2cfb3d31b042ef.asturm@gentoo> (raw)
commit: 0bdae1a3845db5572b948a1f8a2cfb3d31b042ef
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 7 20:14:58 2018 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Apr 7 20:48:48 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0bdae1a3
dev-libs/libcdio: Fix I/O leak w/ unreadable ISO file
DOCS to array, drop ltprune for find.
Package-Manager: Portage-2.3.28, Repoman-2.3.9
.../libcdio/files/libcdio-2.0.0-iso-ioleak.patch | 37 +++++++++++
dev-libs/libcdio/libcdio-2.0.0-r1.ebuild | 75 ++++++++++++++++++++++
2 files changed, 112 insertions(+)
diff --git a/dev-libs/libcdio/files/libcdio-2.0.0-iso-ioleak.patch b/dev-libs/libcdio/files/libcdio-2.0.0-iso-ioleak.patch
new file mode 100644
index 00000000000..17732104c3d
--- /dev/null
+++ b/dev-libs/libcdio/files/libcdio-2.0.0-iso-ioleak.patch
@@ -0,0 +1,37 @@
+From 8c0de2d3f0324ecf3fd135589589dcd783c15556 Mon Sep 17 00:00:00 2001
+From: rocky <rocky@gnu.org>
+Date: Fri, 16 Feb 2018 09:14:17 -0500
+Subject: Fix small I/O leak when we can't read ISO file
+
+See Savannah bug #53170. Thanks to David Binderman.
+---
+ src/iso-read.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/iso-read.c b/src/iso-read.c
+index 0541e27..8647485 100644
+--- a/src/iso-read.c
++++ b/src/iso-read.c
+@@ -1,5 +1,6 @@
+ /*
+- Copyright (C) 2004-2006, 2008, 2012-2013, 2017 Rocky Bernstein <rocky@gnu.org>
++ Copyright (C) 2004-2006, 2008, 2012-2013, 2017-2018 Rocky Bernstein
++ <rocky@gnu.org>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -364,7 +365,10 @@ main(int argc, char *argv[])
+ ret = read_iso_file (opts.iso9660_image, opts.file_name,
+ outfd, &bytes_written);
+ }
+- if (ret != 0) return ret;
++ if (ret != 0) {
++ fclose (outfd);
++ return ret;
++ }
+
+ fflush (outfd);
+
+--
+cgit v1.0-41-gc330
+
diff --git a/dev-libs/libcdio/libcdio-2.0.0-r1.ebuild b/dev-libs/libcdio/libcdio-2.0.0-r1.ebuild
new file mode 100644
index 00000000000..62bcbab5b55
--- /dev/null
+++ b/dev-libs/libcdio/libcdio-2.0.0-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools libtool multilib-minimal
+
+DESCRIPTION="A library to encapsulate CD-ROM reading and control"
+HOMEPAGE="https://www.gnu.org/software/libcdio/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/18" # subslot is based on SONAME
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="cddb +cxx minimal static-libs test"
+
+RDEPEND="
+ !minimal? (
+ >=sys-libs/ncurses-5.7-r7:0=
+ cddb? ( >=media-libs/libcddb-1.3.2 )
+ )
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ sys-apps/sed
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? ( dev-lang/perl )
+"
+
+DOCS=( AUTHORS ChangeLog NEWS README{,.libcdio} THANKS TODO )
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/cdio/cdio_config.h
+ /usr/include/cdio/version.h
+)
+
+PATCHES=( "${FILESDIR}/${P}-iso-ioleak.patch" )
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ sed \
+ -e "s:-lncurses:$($(tc-getPKG_CONFIG) --libs ncurses):g" \
+ -i configure || die
+
+ elibtoolize # to prevent -L/usr/lib ending up in the linker line wrt 499510
+}
+
+multilib_src_configure() {
+ local util_switch
+ if ! multilib_is_native_abi || use minimal ; then
+ util_switch="--without"
+ else
+ util_switch="--with"
+ fi
+
+ # Tests fail if ECONF_SOURCE is not relative
+ ECONF_SOURCE="../${P}" econf \
+ --disable-maintainer-mode \
+ $(use_enable cxx) \
+ --disable-cpp-progs \
+ --disable-example-progs \
+ $(use_enable static-libs static) \
+ $(use_enable cddb) \
+ --disable-vcd-info \
+ ${util_switch}-{cd-drive,cd-info,cdda-player,cd-read,iso-info,iso-read}
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -name '*.la' -delete || die
+}
next reply other threads:[~2018-04-07 20:49 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-07 20:49 Andreas Sturmlechner [this message]
-- strict thread matches above, loose matches on Subject: below --
2019-04-19 0:30 [gentoo-commits] repo/gentoo:master commit in: dev-libs/libcdio/, dev-libs/libcdio/files/ Lars Wendler
2024-06-28 9:09 Miroslav Šulc
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1523134128.0bdae1a3845db5572b948a1f8a2cfb3d31b042ef.asturm@gentoo \
--to=asturm@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox