Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#766 Improper decoding of ID3 tags causes UI corruption, crash

open
nobody
None
5
2008-11-06
2008-11-06
Michael Dwyer
No

Certain files (Efficient Bliss, from the freely available Auto Assault soundtrack) displays in MPC as:

Title: Efficient Bliss偔ɘ“Ĉꡈђю
Author: Richard Dekkard䅔ƣČ죐ʁ
Description: ici

That seems to be a mix of the two tags in the file, and seems to suggest that we've fallen off the end of a string.

ID3v1 tag at the end of the file is this:

001e5900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 54 |...............T|
001e5910 41 47 45 66 66 69 63 69 65 6e 74 20 42 6c 69 73 |AGEfficient Blis|
001e5920 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |s...............|
001e5930 52 69 63 68 61 72 64 20 44 65 6b 6b 61 72 64 00 |Richard Dekkard.|
001e5940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 75 |..............Au|
001e5950 74 6f 20 41 73 73 61 75 6c 74 20 2d 20 4f 66 66 |to Assault - Off|
001e5960 69 63 69 61 6c 20 53 6f 75 6e 64 74 00 00 00 00 |icial Soundt....|
001e5970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
001e5980 00 00 00 00 00 00 00 00 00 00 00 00 00 03 ff |...............|
001e598f

The newer tag at the top of the file looks like this:

00000000 49 44 33 03 00 00 00 00 10 34 54 49 54 32 00 00 |ID3......4TIT2..|
00000010 00 21 00 00 01 ff fe 45 00 66 00 66 00 69 00 63 |.!.....E.f.f.i.c|
00000020 00 69 00 65 00 6e 00 74 00 20 00 42 00 6c 00 69 |.i.e.n.t. .B.l.i|
00000030 00 73 00 73 00 54 50 45 31 00 00 00 21 00 00 01 |.s.s.TPE1...!...|
00000040 ff fe 52 00 69 00 63 00 68 00 61 00 72 00 64 00 |..R.i.c.h.a.r.d.|
00000050 20 00 44 00 65 00 6b 00 6b 00 61 00 72 00 64 00 | .D.e.k.k.a.r.d.|
00000060 54 41 4c 42 00 00 00 47 00 00 01 ff fe 41 00 75 |TALB...G.....A.u|
00000070 00 74 00 6f 00 20 00 41 00 73 00 73 00 61 00 75 |.t.o. .A.s.s.a.u|
00000080 00 6c 00 74 00 20 00 2d 00 20 00 4f 00 66 00 66 |.l.t. .-. .O.f.f|
00000090 00 69 00 63 00 69 00 61 00 6c 00 20 00 53 00 6f |.i.c.i.a.l. .S.o|
000000a0 00 75 00 6e 00 64 00 74 00 72 00 61 00 63 00 6b |.u.n.d.t.r.a.c.k|
000000b0 00 54 52 43 4b 00 00 00 0b 00 00 01 ff fe 33 00 |.TRCK.........3.|
000000c0 2f 00 31 00 39 00 43 4f 4d 4d 00 00 00 0a 00 00 |/.1.9.COMM......|
000000d0 01 69 63 69 00 00 ff fe 33 00 54 45 4e 43 00 00 |.ici....3.TENC..|
000000e0 00 23 40 00 01 ff fe 69 00 54 00 75 00 6e 00 65 |.#@....i.T.u.n.e|
000000f0 00 73 00 20 00 76 00 36 00 2e 00 30 00 2e 00 30 |.s. .v.6...0...0|
00000100 00 2e 00 31 00 38 00 00 00 00 00 00 00 00 00 00 |...1.8..........|
00000110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|

Aside from the UI corruption, if you spin through the entire album, the player will eventually stomp on the wrong memory and crash.

Discussion