fixed out of file check order
This commit is contained in:
parent
ff08ee7cea
commit
b17ab3f8e9
@ -74,6 +74,15 @@ void MshFile::loadChunks(QList<ChunkHeader*>& destination, qint64 start, const q
|
||||
|
||||
do
|
||||
{
|
||||
// out of file. Maybe a size information is corrupted
|
||||
if (m_file.atEnd() || m_file.error() != QFileDevice::NoError)
|
||||
{
|
||||
OutputDevice::getInstance()->print("WARNING: corrupted file. Trying to continue..", 1);
|
||||
m_file.unsetError();
|
||||
m_file.seek(0);
|
||||
break;
|
||||
}
|
||||
|
||||
ChunkHeader* tmp_header = new ChunkHeader();
|
||||
|
||||
char workaround[5] = { 0 };
|
||||
@ -89,14 +98,6 @@ void MshFile::loadChunks(QList<ChunkHeader*>& destination, qint64 start, const q
|
||||
// jump to next header
|
||||
m_file.seek(tmp_header->size + m_file.pos());
|
||||
|
||||
// out of file. Maybe a size information is corrupted
|
||||
if (m_file.atEnd() || m_file.error() != QFileDevice::NoError)
|
||||
{
|
||||
OutputDevice::getInstance()->print("WARNING: corrupted file. Trying to continue..", 1);
|
||||
m_file.unsetError();
|
||||
m_file.seek(0);
|
||||
break;
|
||||
}
|
||||
} while (m_file.pos() - start != length);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user