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