Commit Graph

32 Commits

Author SHA1 Message Date
Aleksey Sulzhenko
a081f19c30 Fix UFID error: "expected to split UFID data into 2 pieces"
(cherry picked from commit 02b288165e4fc288c84d48653483a0a59f46388c)
2021-09-18 18:25:30 +03:00
David Howden
d52dcb253c fix panic on invalid input
Fixes #79
2020-11-20 18:04:57 +11:00
David Howden
a92213460e check bounds in readAPICFrame
Fixes #80
2020-11-20 06:32:04 +11:00
David Howden
6b18201aa5 check bounds in readPICFrame
Fixes #77
2020-11-20 06:25:38 +11:00
David Howden
53ee65d2ae be more cautious with language parsing
Relates to #76
2020-11-20 06:21:29 +11:00
David Howden
4f91c64763 id3v2: tidy up dataSplit and decodeText 2018-04-02 08:16:46 +10:00
Markus Krogh
f4ddc56a4c id3v2 : fix triple null termination utf-16 little endian. (#36)
* Fix triple null termination utf-16 little endian.

When fixing result[1] result[0] should be fixed as well.

* result[0] should be fixed before fixing result[1]
2018-04-02 07:26:56 +10:00
David Howden
ba105bfefc id3v2: fix panic on invalid encoding of UTF-16 text 2018-02-19 18:01:22 +11:00
Anders Pearson
22a6715536
fix bug with invalid APIC mimetype
Return an error if the mimetype can't be decoded rather than
panicking. See #28.
2017-10-22 11:42:29 +01:00
David Howden
9daeb83105 Update delimiter to fallback to ISO-8859-1. 2016-05-09 22:40:03 +10:00
David Howden
bfba4b35ab Updated text decoding to fallback to ISO-8859-1.
See #20 for more details.
2016-05-09 22:37:19 +10:00
David Howden
5b94194b29 Remove unused error parameter, and tidy up implementation. 2016-01-03 23:05:17 +11:00
David Howden
030e21e7c2 Added DefaultUTF16WithBOMByteOrder for instances where no BOM is given. 2016-01-03 23:00:45 +11:00
Xavier Henner
05c9a3fa59 Be a little less strict on invalid frames
Add iTunes frames and ignore unknown frame only if they are too big
2015-07-12 02:02:12 +02:00
David Howden
db723fecfc Check each ID3 tag is valid.
Some tag encoders like to use non-standard padding (see http://id3.org/Compliance%20Issues) which was causing "unexpected EOF" errors.  Checking that each tag has a valid name (as per the spec) seems to be the only good way around this.
2015-06-28 09:53:07 +10:00
David Howden
1b0e92375a Fix: panic on empty description in text-description frames. 2015-06-27 19:24:33 +10:00
David Howden
ce0c1dc2f8 Remove append no-op! 2015-05-24 13:13:43 +10:00
David Howden
2cbec0cf93 Fix panic when len(result[1]) == 0 2015-05-24 13:13:32 +10:00
David Howden
47d9285956 Small refactor to dataSplit 2015-05-24 13:13:06 +10:00
David Howden
5da0ca1f03 Removed unnecessary space 2015-05-24 12:23:31 +10:00
David Howden
7d23e28e65 Refactor readTextWithDescr function 2015-05-24 12:23:30 +10:00
David Howden
b55f474bf9 Refactor readTFrame and added readWFrame 2015-05-24 12:23:30 +10:00
David Howden
f782cbdf44 Add check for size of provider/identifier split 2015-05-24 12:23:30 +10:00
David Howden
1832dec4e7 Refactor Ufid -> UFID 2015-05-24 12:23:30 +10:00
Xavier Henner
eef1ffcbbd Support for the UFID tag 2015-05-24 12:23:30 +10:00
Xavier Henner
45d987ac1d Support for TXXX, WXXX and generic W frames
I hacked readTextWithDescrFrame() and readTFrame() to generalize them
to other case (presence or not of a language and whether or not the
data part is encoded (URL are not)

This patch depend of 3b7a3d5485 since I found the
bug while developping this patch
2015-05-24 12:23:30 +10:00
Xavier Henner
f6a1e5325c Fix bug in the split method
Sometimes, we can have this configuration :

description 00 00 00 data (with delim = [00 00])
with splitN, we make the separation at the first 00 00 :
[description, 00 data]

But in fact, we must make the separation one byte later
[description 00, data]
2015-05-24 12:23:30 +10:00
David Howden
68d82a6107 Fix errors caused by incorrect delimiters 2015-05-19 22:09:51 +10:00
Xavier Henner
0f62dc116a Add support for lyrics.
Not supported in id3v1 and id3v22
2015-05-19 22:06:16 +10:00
David Howden
c895efbcf8 Revert "Add support for lyrics." 2015-05-19 08:03:36 +10:00
Xavier Henner
7fac753a70 Add support for lyrics.
Not supported in id3v1 and id3v22
2015-05-18 09:32:54 +02:00
David Howden
9278a7ec07 Initial commit 2015-03-19 23:21:53 +11:00