[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#658818: marked as done (fails to handle cuesheets with 99 tracks)



Your message dated Fri, 05 Jul 2013 11:18:02 +0000
with message-id <E1Uv41a-0004Bl-F4@franck.debian.org>
and subject line Bug#658818: fixed in cuetools 1.3.1-13
has caused the Debian Bug report #658818,
regarding fails to handle cuesheets with 99 tracks
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
658818: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=658818
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: cuetools
Version: 1.3.1-9
Severity: normal

There's an off-by-one error in cd.c which causes cueprint to wrongly reject
cuesheets with 99 tracks.  Its actual limit is 98 tracks, and yet as the
source code notes, the Red Book audio standard permits 99 tracks per disc
(and 99 indices per track).

When I looked into this, I saw that:

1) not only will the same error occur with index numbers, but
2) the wrong preprocessor symbol is being expanded when checking the index
number.

(Can this few people really have ever dealt with Nine Inch Nails's _Broken_
EP?  It's not exactly an obscure title, especially among hackers...)

Please find attached a cuesheet which will enable reproduction of the
problem, and a tested patch fixing it.

To reproduce:
$ cueprint -d '%N\n' Nine\ Inch\ Nails/05.Broken.flac.cue

Full disclosure: I did not test the index number breakage, nor my fix for
it.

-- System Information:
Debian Release: 6.0.4
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: powerpc (ppc64)

Kernel: Linux 2.6.32-5-powerpc64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
PERFORMER "Nine Inch Nails"
TITLE "Broken"
FILE "dummy.wav" WAVE
  TRACK 01 AUDIO
    TITLE "Pinion"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "Wish"
    INDEX 01 01:03:12
  TRACK 03 AUDIO
    TITLE "Last"
    INDEX 01 04:49:67
  TRACK 04 AUDIO
    TITLE "Help Me I Am in Hell"
    INDEX 01 09:34:35
  TRACK 05 AUDIO
    TITLE "Happiness in Slavery"
    INDEX 01 11:30:50
  TRACK 06 AUDIO
    TITLE "Gave Up"
    INDEX 01 16:51:57
  TRACK 07 AUDIO
    TITLE "untitled"
    INDEX 01 21:00:25
  TRACK 08 AUDIO
    TITLE "untitled"
    INDEX 01 21:01:25
  TRACK 09 AUDIO
    TITLE "untitled"
    INDEX 01 21:02:25
  TRACK 10 AUDIO
    TITLE "untitled"
    INDEX 01 21:03:25
  TRACK 11 AUDIO
    TITLE "untitled"
    INDEX 01 21:04:25
  TRACK 12 AUDIO
    TITLE "untitled"
    INDEX 01 21:05:25
  TRACK 13 AUDIO
    TITLE "untitled"
    INDEX 01 21:06:25
  TRACK 14 AUDIO
    TITLE "untitled"
    INDEX 01 21:07:25
  TRACK 15 AUDIO
    TITLE "untitled"
    INDEX 01 21:08:25
  TRACK 16 AUDIO
    TITLE "untitled"
    INDEX 01 21:09:25
  TRACK 17 AUDIO
    TITLE "untitled"
    INDEX 01 21:10:25
  TRACK 18 AUDIO
    TITLE "untitled"
    INDEX 01 21:11:25
  TRACK 19 AUDIO
    TITLE "untitled"
    INDEX 01 21:12:25
  TRACK 20 AUDIO
    TITLE "untitled"
    INDEX 01 21:13:25
  TRACK 21 AUDIO
    TITLE "untitled"
    INDEX 01 21:14:25
  TRACK 22 AUDIO
    TITLE "untitled"
    INDEX 01 21:15:25
  TRACK 23 AUDIO
    TITLE "untitled"
    INDEX 01 21:16:25
  TRACK 24 AUDIO
    TITLE "untitled"
    INDEX 01 21:17:25
  TRACK 25 AUDIO
    TITLE "untitled"
    INDEX 01 21:18:25
  TRACK 26 AUDIO
    TITLE "untitled"
    INDEX 01 21:19:25
  TRACK 27 AUDIO
    TITLE "untitled"
    INDEX 01 21:20:25
  TRACK 28 AUDIO
    TITLE "untitled"
    INDEX 01 21:21:25
  TRACK 29 AUDIO
    TITLE "untitled"
    INDEX 01 21:22:25
  TRACK 30 AUDIO
    TITLE "untitled"
    INDEX 01 21:23:25
  TRACK 31 AUDIO
    TITLE "untitled"
    INDEX 01 21:24:25
  TRACK 32 AUDIO
    TITLE "untitled"
    INDEX 01 21:25:25
  TRACK 33 AUDIO
    TITLE "untitled"
    INDEX 01 21:26:25
  TRACK 34 AUDIO
    TITLE "untitled"
    INDEX 01 21:27:25
  TRACK 35 AUDIO
    TITLE "untitled"
    INDEX 01 21:28:25
  TRACK 36 AUDIO
    TITLE "untitled"
    INDEX 01 21:29:25
  TRACK 37 AUDIO
    TITLE "untitled"
    INDEX 01 21:30:25
  TRACK 38 AUDIO
    TITLE "untitled"
    INDEX 01 21:31:25
  TRACK 39 AUDIO
    TITLE "untitled"
    INDEX 01 21:32:25
  TRACK 40 AUDIO
    TITLE "untitled"
    INDEX 01 21:33:25
  TRACK 41 AUDIO
    TITLE "untitled"
    INDEX 01 21:34:25
  TRACK 42 AUDIO
    TITLE "untitled"
    INDEX 01 21:35:25
  TRACK 43 AUDIO
    TITLE "untitled"
    INDEX 01 21:36:25
  TRACK 44 AUDIO
    TITLE "untitled"
    INDEX 01 21:37:25
  TRACK 45 AUDIO
    TITLE "untitled"
    INDEX 01 21:38:25
  TRACK 46 AUDIO
    TITLE "untitled"
    INDEX 01 21:39:25
  TRACK 47 AUDIO
    TITLE "untitled"
    INDEX 01 21:40:25
  TRACK 48 AUDIO
    TITLE "untitled"
    INDEX 01 21:41:25
  TRACK 49 AUDIO
    TITLE "untitled"
    INDEX 01 21:42:25
  TRACK 50 AUDIO
    TITLE "untitled"
    INDEX 01 21:43:25
  TRACK 51 AUDIO
    TITLE "untitled"
    INDEX 01 21:44:25
  TRACK 52 AUDIO
    TITLE "untitled"
    INDEX 01 21:45:25
  TRACK 53 AUDIO
    TITLE "untitled"
    INDEX 01 21:46:25
  TRACK 54 AUDIO
    TITLE "untitled"
    INDEX 01 21:47:25
  TRACK 55 AUDIO
    TITLE "untitled"
    INDEX 01 21:48:25
  TRACK 56 AUDIO
    TITLE "untitled"
    INDEX 01 21:49:25
  TRACK 57 AUDIO
    TITLE "untitled"
    INDEX 01 21:50:25
  TRACK 58 AUDIO
    TITLE "untitled"
    INDEX 01 21:51:25
  TRACK 59 AUDIO
    TITLE "untitled"
    INDEX 01 21:52:25
  TRACK 60 AUDIO
    TITLE "untitled"
    INDEX 01 21:53:25
  TRACK 61 AUDIO
    TITLE "untitled"
    INDEX 01 21:54:25
  TRACK 62 AUDIO
    TITLE "untitled"
    INDEX 01 21:55:25
  TRACK 63 AUDIO
    TITLE "untitled"
    INDEX 01 21:56:25
  TRACK 64 AUDIO
    TITLE "untitled"
    INDEX 01 21:57:25
  TRACK 65 AUDIO
    TITLE "untitled"
    INDEX 01 21:58:25
  TRACK 66 AUDIO
    TITLE "untitled"
    INDEX 01 21:59:25
  TRACK 67 AUDIO
    TITLE "untitled"
    INDEX 01 22:00:25
  TRACK 68 AUDIO
    TITLE "untitled"
    INDEX 01 22:01:25
  TRACK 69 AUDIO
    TITLE "untitled"
    INDEX 01 22:02:25
  TRACK 70 AUDIO
    TITLE "untitled"
    INDEX 01 22:03:25
  TRACK 71 AUDIO
    TITLE "untitled"
    INDEX 01 22:04:25
  TRACK 72 AUDIO
    TITLE "untitled"
    INDEX 01 22:05:25
  TRACK 73 AUDIO
    TITLE "untitled"
    INDEX 01 22:06:25
  TRACK 74 AUDIO
    TITLE "untitled"
    INDEX 01 22:07:25
  TRACK 75 AUDIO
    TITLE "untitled"
    INDEX 01 22:08:25
  TRACK 76 AUDIO
    TITLE "untitled"
    INDEX 01 22:09:25
  TRACK 77 AUDIO
    TITLE "untitled"
    INDEX 01 22:10:25
  TRACK 78 AUDIO
    TITLE "untitled"
    INDEX 01 22:11:25
  TRACK 79 AUDIO
    TITLE "untitled"
    INDEX 01 22:12:25
  TRACK 80 AUDIO
    TITLE "untitled"
    INDEX 01 22:13:25
  TRACK 81 AUDIO
    TITLE "untitled"
    INDEX 01 22:14:25
  TRACK 82 AUDIO
    TITLE "untitled"
    INDEX 01 22:15:25
  TRACK 83 AUDIO
    TITLE "untitled"
    INDEX 01 22:16:25
  TRACK 84 AUDIO
    TITLE "untitled"
    INDEX 01 22:17:25
  TRACK 85 AUDIO
    TITLE "untitled"
    INDEX 01 22:18:25
  TRACK 86 AUDIO
    TITLE "untitled"
    INDEX 01 22:19:25
  TRACK 87 AUDIO
    TITLE "untitled"
    INDEX 01 22:20:25
  TRACK 88 AUDIO
    TITLE "untitled"
    INDEX 01 22:21:25
  TRACK 89 AUDIO
    TITLE "untitled"
    INDEX 01 22:22:25
  TRACK 90 AUDIO
    TITLE "untitled"
    INDEX 01 22:23:25
  TRACK 91 AUDIO
    TITLE "untitled"
    INDEX 01 22:24:25
  TRACK 92 AUDIO
    TITLE "untitled"
    INDEX 01 22:25:25
  TRACK 93 AUDIO
    TITLE "untitled"
    INDEX 01 22:26:25
  TRACK 94 AUDIO
    TITLE "untitled"
    INDEX 01 22:27:25
  TRACK 95 AUDIO
    TITLE "untitled"
    INDEX 01 22:28:25
  TRACK 96 AUDIO
    TITLE "untitled"
    INDEX 01 22:29:25
  TRACK 97 AUDIO
    TITLE "untitled"
    INDEX 01 22:30:25
  TRACK 98 AUDIO
    TITLE "Physical (You're So)"
    INDEX 01 22:31:25
  TRACK 99 AUDIO
    TITLE "Suck"
    INDEX 01 28:01:15
diff -urN cuetools-1.3.1~/src/lib/cd.c cuetools-1.3.1/src/lib/cd.c
--- cuetools-1.3.1~/src/lib/cd.c	2012-02-05 23:35:20.000000000 -0500
+++ cuetools-1.3.1/src/lib/cd.c	2012-02-05 23:36:51.000000000 -0500
@@ -125,7 +125,7 @@
 
 Track *cd_add_track (Cd *cd)
 {
-	if (MAXTRACK - 1 > cd->ntrack)
+	if (MAXTRACK > cd->ntrack)
 		cd->ntrack++;
 	else
 		fprintf(stderr, "too many tracks\n");
@@ -261,7 +261,7 @@
 
 void track_add_index (Track *track, long index)
 {
-	if (MAXTRACK - 1 > track->nindex)
+	if (MAXINDEX > track->nindex)
 		track->nindex++;
 	else
 		fprintf(stderr, "too many indexes\n");

--- End Message ---
--- Begin Message ---
Source: cuetools
Source-Version: 1.3.1-13

We believe that the bug you reported is fixed in the latest version of
cuetools, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 658818@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Dmitry Smirnov <onlyjob@debian.org> (supplier of updated cuetools package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Fri, 05 Jul 2013 18:58:46 +1000
Source: cuetools
Binary: cuetools
Architecture: source amd64
Version: 1.3.1-13
Distribution: unstable
Urgency: low
Maintainer: Debian QA Group <packages@qa.debian.org>
Changed-By: Dmitry Smirnov <onlyjob@debian.org>
Description: 
 cuetools   - tools for manipulating CUE/TOC files
Closes: 655078 655079 658818 669675 676478
Changes: 
 cuetools (1.3.1-13) unstable; urgency=low
 .
   * QA upload.
   * Added Vcs links to new repository at collab-maint.
   * Homepage change: project moved to GitHub.
   * debian/watch to check official GitHub mirror.
   * Standards to 3.9.4.
   * debhelper & compat to version 9;
   * debian/rules rewrite.
   * xz compression for source archive and binary packages (*.deb).
   * Build-Depends:
     + dh-autoreconf
   * Depends:
     - id3v2
     + python-mutagen | id3v2
   * Patchworks:
     + added DEP-3 headers to patches; forwarded patches;
     + updated man pages spelling and other corrections (Closes: #669675);
       Thanks, A. Costa.
     + cuetag: use python-mutagen (`mid3v2`) or id3v2 (Closes: #676478);
       Thanks, Rogério Brito.
     + cuetag: specify field list (for Ogg/Flac), as well as field contents
       (Closes: #655078);
       Thanks, martin f krafft.
     + cuetag: patch to pad tracknumbers with leading zeroes
       (Closes: 655079);
       Thanks, martin f krafft.
     + fix handling of cuesheets with 99 tracks (Closes: #658818);
       Thanks, Branden Robinson.
Checksums-Sha1: 
 602b48e969e734b94743c43839ccddb9aced72bd 1876 cuetools_1.3.1-13.dsc
 50da62289e1a9f60f924bad732afcf5264e406f9 15432 cuetools_1.3.1-13.debian.tar.xz
 3f70b9d46e7262d7347b86ff756eb214509d3c1a 48598 cuetools_1.3.1-13_amd64.deb
Checksums-Sha256: 
 6146f4bd104f5a8d37f5315fe51749628057fc712c9454f5d5fa52e11cd93b5c 1876 cuetools_1.3.1-13.dsc
 3827e0faf042334ddd535a13c5b03703916e9e9889b98025b02482ff645b8f9f 15432 cuetools_1.3.1-13.debian.tar.xz
 dc2a0ad94245d6f7cf2f6d1f1b9c51990d15bb29d4aa029c5015630d71ba1ffd 48598 cuetools_1.3.1-13_amd64.deb
Files: 
 0ac81d0897a8000383b6b3247f9624b1 1876 utils extra cuetools_1.3.1-13.dsc
 dbea39e009f8a7c4e539751fc4924f34 15432 utils extra cuetools_1.3.1-13.debian.tar.xz
 30167fa3b3ca20a6ba964c47bfad8e14 48598 utils extra cuetools_1.3.1-13_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJR1o81AAoJEFK2u9lTlo0bcFUQAIhR34GTgYhPTWZCWeh9CeYT
VuKL9sxpQLlaLYXT3isIu1uUn6L1siWWtTCNsUJazDKcAeI1rSFBoq4QNJcigwJd
GxJLvgwW0zSuKHmqGNOwwKXPOtjirNoDF8xKfTUk7vdfY04PcQxzeHGvFgDy/Ggt
92RQoN292apjO9jr5rX4ZDmGjHnStXVAxCtUazE9Z1L0u96y02uTHJg0XQLdMt+4
Ov1pCt0cMy0V9Vl0MdVl31N4Q6uC56Ax5xqDXzBrits+nzxxcFMMHbndKS1eFDu1
uXU10juJ6jxqr1hrE/r8d/4LkdP5g7IRqQ4qG96Ett6F9jlaXgqvB8nhb3v6qc91
Q1XcUBS+dk+VFYzpHihQyQcOt3NOjeK0W2yUsi+zdc/ENVPlsafln7TyyKPgo5Za
tFXgRsTgrXucxZEC4GQ9VVNFbH3p6D+QLUOgdPxayuLh3P+UzNa27UbnUjmp0hO1
UrpzlrT4VhxqAtA7UjD5zDo9/MnHBrf+xkqt/WEt6teYQmyq0Mm8bOo3NErdtnB+
8X0ZJg2Yp+LH+BPUoRcgL9lKeEVOaVG35HxnlyRO89RlqmWDzQ0d4BeCHiCW/eOZ
V4Chj5i8OFLViE2YYPxHJGqDU7lmhRVW+KQoEzB93D3lBXmKr7tnXbj6rMJDeynt
ZUD2Jf2DuIXfbzUKOwjt
=VCdz
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: