Skip files with inflate errors during ePub decryption

This commit is contained in:
2022-02-22 20:58:30 +01:00
parent 7d161133c3
commit a623a3d796
2 changed files with 19 additions and 4 deletions

View File

@@ -1010,9 +1010,20 @@ namespace gourou
_clearData[dataOutLength] = 'Z';
clearData.resize(dataOutLength+1);
client->inflate(clearData, inflateData);
client->zipWriteFile(zipHandler, encryptedFile, inflateData);
try
{
client->inflate(clearData, inflateData);
client->zipWriteFile(zipHandler, encryptedFile, inflateData);
}
catch(gourou::Exception& e)
{
if (e.getErrorCode() == CLIENT_ZIP_ERROR)
{
GOUROU_LOG(ERROR, e.what() << std::endl << "Skip file " << encryptedFile);
}
else
throw e;
}
it->node().parent().remove_child(it->node());
}