From 7db76720bb01e3a8f6f3f182659359eb4c02135e Mon Sep 17 00:00:00 2001 From: Nick Shaforostov Date: Fri, 2 Mar 2018 16:39:30 +0100 Subject: [PATCH] avoid freezes reading incomplete mp3 files --- taglib/mpeg/mpegfile.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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); }