GNOME Bugzilla – Bug 342029
[id3demux] overflow of titlenumbers
Last modified: 2006-05-19 14:05:55 UTC
That bug has been opened on https://launchpad.net/distros/ubuntu/+source/rhythmbox/+bug/40624 "If the titlenumber in the ID3 Tag is negative, the shown number goes into the 4 billions! ... > Thanks for your bug. What version of rhythmbox do you use? Could you attach a such example to the bug, or point a location to download it or send it by mail? ... Hello, my rhythmbox version number is 0.9.3.1 and it's the package of an ubuntu 6.06 beta with the original repositories. ... http://librarian.launchpad.net/2257808/rhythmbox-bug.jpg Just a Screenshot of the bug ... Technically isn't this underflow? Anyway, confirming: Description of the problem: Negative track numbers are shown as extremely large positive numbers in rhythmbox's browser window. Steps to reproduce: 1. Open an important mp3 in xmms. 2. Press ctrl-3 . 3. Make sure that disable ID3v2 Tag is unchecked and type -1 into the Track number field. 4. Click save then close. 5. Open the MP3 in rhythmbox, ensure that small display is off and in the main track display scroll to the modified track (display of track numbers will also need to be on). Expected result: -1 to appear in track column. Actual result: 4294967295 is displayed in the track column (sounds like a signed variable has been stuck into an unsigned variable). ... Additional information: If the properties windows for the track is displayed the correct (negative) track number is shown." according to "gst-launch-0.10 -t filesrc location=.... ! decodebin ! fakesink": "track number: 4294967295"
Created attachment 65648 [details] [review] proposed fix (untested)
I don't like this fix too much - it doesn't seem too robust. It also sucks that TRACK_COUNT and TRACK_NUMBER are defined in gsttaglist as UINT, so there's no way we can output these correctly so it does seem like we have to drop them. This also needs fixing in the id3v1 tag reading too, I imagine. Attaching a patch I like better.
Created attachment 65659 [details] [review] patch (tested)
Committed to CVS: * gst/id3demux/id3v2frames.c: (id3v2_tag_to_taglist): Don't output any tag when we encounter a negative track number - the tag type is uint, so we end up outputting huge positive numbers instead. (Fixes: #342029)