Skip to content

Commit

Permalink
app-cdr/bin2iso: Port to EAPI 6
Browse files Browse the repository at this point in the history
Package-Manager: Portage-2.3.19, Repoman-2.3.6
  • Loading branch information
SoapGentoo committed Dec 28, 2017
1 parent bf88281 commit ca6b923
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 35 deletions.
17 changes: 6 additions & 11 deletions app-cdr/bin2iso/bin2iso-19b-r2.ebuild
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

inherit eutils toolchain-funcs
EAPI=6

inherit toolchain-funcs

DESCRIPTION="converts RAW format (.bin/.cue) files to ISO/WAV format"
HOMEPAGE="http://users.andara.com/~doiron/bin2iso/"
Expand All @@ -12,22 +14,15 @@ SLOT="0"
KEYWORDS="alpha amd64 ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE=""

DEPEND=""

S=${WORKDIR}/${PN}

src_unpack() {
unpack ${A}
cd "${S}"
edos2unix *.c
epatch "${FILESDIR}"/${P}-sanity-checks.patch
}
PATCHES=( "${FILESDIR}"/${P}-sanity-checks.patch )

src_compile() {
$(tc-getCC) bin2iso19b_linux.c -o ${PN} ${CFLAGS} ${LDFLAGS} || die "compile failed"
$(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} bin2iso19b_linux.c -o ${PN} || die "compile failed"
}

src_install() {
dobin ${PN} || die "dobin failed"
dobin ${PN}
dodoc readme.txt
}
48 changes: 24 additions & 24 deletions app-cdr/bin2iso/files/bin2iso-19b-sanity-checks.patch
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,29 @@ Add more checks to prevent segfaults in ill-formatted files

http://bugs.gentoo.org/show_bug.cgi?id=90540

--- bin2iso19b_linux.c
+++ bin2iso19b_linux.c
--- a/bin2iso19b_linux.c
+++ b/bin2iso19b_linux.c
@@ -237,6 +237,10 @@
// Get the 'mode'
if (strncmp(&Line[2], "TRACK ", 6)==0)
{
+ if (Line[8] < '0' || Line[8] > '9' || Line[9] < '0' || Line[9] > '9') {
+ printf("Error: Track # is not a 2 digit number\n");
+ exit(1);
+ }
strncpy(track->num, &Line[8], 2); track->num[2] = '\0';

track->mode = UNKNOWN;
// Get the 'mode'
if (strncmp(&Line[2], "TRACK ", 6)==0)
{
+ if (Line[8] < '0' || Line[8] > '9' || Line[9] < '0' || Line[9] > '9') {
+ printf("Error: Track # is not a 2 digit number\n");
+ exit(1);
+ }
strncpy(track->num, &Line[8], 2); track->num[2] = '\0';

track->mode = UNKNOWN;
@@ -246,7 +250,11 @@
if(strncmp(&Line[11], "MODE2/2352", 10)==0) track->mode = MODE2_2352;
if(strncmp(&Line[11], "MODE2/2336", 10)==0) track->mode = MODE2_2336;
}
- else return(1);
+ else
+ {
+ printf("Error: 2nd line does not begin with ' TRACK '\n");
+ exit(1);
+ }

// Set the name
strcpy(track->name, sBinFilename);
if(strncmp(&Line[11], "MODE2/2352", 10)==0) track->mode = MODE2_2352;
if(strncmp(&Line[11], "MODE2/2336", 10)==0) track->mode = MODE2_2336;
}
- else return(1);
+ else
+ {
+ printf("Error: 2nd line does not begin with ' TRACK '\n");
+ exit(1);
+ }

// Set the name
strcpy(track->name, sBinFilename);

0 comments on commit ca6b923

Please sign in to comment.