Created attachment 57928 [details] The file causing this bug Version: 1.6.3 OS: Linux When calling "TagLib::FileRef(filename);", TagLib enters in a infinite loop, printing "TagLib: ByteVectorMirror::toNumber<T>() -- data is empty, returning 0". The file causing the infinite loop is not valid, and cannot be played (with another music player), but is correctly recognized as "Microsoft ASF" with the 'file' command. Maybe these traces I have when stopping can help: #0 0x003b4f1c in TagLib::String::to8Bit(bool) const () from /usr/lib/libtag.so.1 #1 0x003b50f7 in operator<<(std::ostream&, TagLib::String const&) () from /usr/lib/libtag.so.1 #2 0x003bb6f9 in ?? () from /usr/lib/libtag.so.1 #3 0x003b800d in TagLib::ByteVector::toLongLong(bool) const () from /usr/lib/libtag.so.1 #4 0x003d2404 in TagLib::ASF::File::readQWORD() () from /usr/lib/libtag.so.1 #5 0x003d3be8 in TagLib::ASF::File::HeaderExtensionObject::parse(TagLib::ASF::File*, unsigned int) () from /usr/lib/libtag.so.1 #6 0x003d4bde in TagLib::ASF::File::read(bool, TagLib::AudioProperties::ReadStyle) () from /usr/lib/libtag.so.1 #7 0x003d501f in TagLib::ASF::File::File(char const*, bool, TagLib::AudioProperties::ReadStyle) () from /usr/lib/libtag.so.1 #8 0x003da418 in TagLib::FileRef::create(char const*, bool, TagLib::AudioProperties::ReadStyle) () from /usr/lib/libtag.so.1 #9 0x003daab2 in TagLib::FileRef::FileRef(char const*, bool, TagLib::AudioProperties::ReadStyle) () from /usr/lib/libtag.so.1 #10 0x082ab95d in TagLibFileRefFactory::GetFileRef (this=0x8cc9aac, filename=...) Reproducible: Always
Fixed in https://github.com/taglib/taglib/commit/4bdcc9662ebae82b36778202504cf62e0b5e77b3
Thanks for solving this bug so quickly :) I try to test the latest version of taglib but, unfortunately, it seems that now, none of my wma files are recognized :( Is it only on my side or are you also encountering this problem?
It seems to be working fine for me. If you can send me such a file, I'll have a look.
I'm running openSUSE 12.1 and am experiencing this problem. I looked on the openSUSE software page and found a newer version of taglib. I had 1.7-8.1.2-x86_64 installed and have now upgraded to 1.7-41.1-x86_64. But the problem persists. Where can I get a version of taglib that does not exhibit the problem? Or do I have to download the source, apply the patch and recompile my own - which I would really prefer not to do.