diff --git a/taglib/mpeg/mpegfile.cpp b/taglib/mpeg/mpegfile.cpp index a2ce02a7..6760814a 100644 --- a/taglib/mpeg/mpegfile.cpp +++ b/taglib/mpeg/mpegfile.cpp @@ -109,7 +109,7 @@ bool MPEG::File::isSupported(IOStream *stream) const ByteVector buffer = Utils::readHeader(stream, bufferSize(), true, &headerOffset); if(buffer.isEmpty()) - return false; + return false; const long originalPosition = stream->tell(); AdapterFile file(stream); @@ -476,6 +476,9 @@ long MPEG::File::lastFrameOffset() else position = length(); + if (position > length()) //if the file is incomplete + position = length(); + return previousFrameOffset(position); }