Changed: Check written bytes at each step and at the end

This commit is contained in:
kervala 2016-10-18 10:25:31 +02:00
parent 7d38c0579a
commit ead4080e1e

View file

@ -448,8 +448,6 @@ bool CFilesExtractor::extract7z()
// errors only occur when returned size is -1 // errors only occur when returned size is -1
if (currentProcessedSize < 0) if (currentProcessedSize < 0)
{ {
error = QApplication::tr("Unable to write output file %1").arg(destPath);
res = SZ_ERROR_FAIL;
break; break;
} }
@ -458,6 +456,13 @@ bool CFilesExtractor::extract7z()
} }
while (currentSizeToProcess > 0); while (currentSizeToProcess > 0);
if (offset != outSizeProcessed)
{
error = QApplication::tr("Unable to write output file %1 (%2 bytes written but expecting %3 bytes)").arg(destPath).arg(offset).arg(outSizeProcessed);
res = SZ_ERROR_FAIL;
break;
}
outFile.close(); outFile.close();
totalUncompressed += SzArEx_GetFileSize(&db, i); totalUncompressed += SzArEx_GetFileSize(&db, i);