Project

General

Profile

Feature #441

[PATCH] libaudtag: Verify tag length info against decoder length

Added by Hans de Goede almost 10 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Minor
Category:
libaudtag
Target version:
Start date:
May 01, 2014
Due date:
% Done:

100%

Estimated time:
Affects version:

Description

Some mp3 files have wrong TLEN tags, one example is:
http://ia700209.us.archive.org/0/items/freemusiccharts.songs2010/2010-08-garmis

Which has an extremely wrong TLEN tag, but I've also seen mp3 files where
TLEN is set the album length instead of the track length.

To stop audacious from showing a completely wrong length in these cases add
some FIELD_LENGTH sanity checks. This fixes both issues for me.

0001-libaudtag-Verify-tag-length-info-against-decoder-len.patch (3.79 KB) 0001-libaudtag-Verify-tag-length-info-against-decoder-len.patch [PATCH] libaudtag: Verify tag length info against decoder length Hans de Goede, May 01, 2014 21:03

History

#1 Updated by John Lindgren almost 10 years ago

  • Tracker changed from Bug to Feature
  • Category set to libaudtag
  • Affects version 3.5 added
  • Affects version deleted (3.5.1)

#2 Updated by John Lindgren almost 10 years ago

#440 fixed some types of invalid TLEN fields. Also, the link in the issue description is now dead.

#3 Updated by Hans de Goede almost 10 years ago

#440 is not relevant in this case, in both my examples the mp3 files contain a purely integer TLEN field, it is just that the content is bogus.

About the broken link, that is my bad I copy pasted from a terminal and only copy and pasted the first 80 chars, here is the proper link:

http://ia700209.us.archive.org/0/items/freemusiccharts.songs2010/2010-08-garmisch-glimmeralbumVersion.mp3

As you can see this has a TLEN field with a value which is an integer, but other then that is utter non sense. Note the other troublesome files which I have which I cannot share have a more sane TLEN, it contains the length of the entire album instead of the individual songs, so still wrong :|

The attached patch fixes both.

#4 Updated by Ariadne Conill over 9 years ago

  • Status changed from New to Resolved
  • Assignee set to Ariadne Conill
  • Target version set to 3.6
  • % Done changed from 0 to 100

I merged a modified version of this patch (due to C++ conversion) to 3.6 just now.

#5 Updated by Ariadne Conill over 9 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF