Don't swallow the exception on checksum errors.

This commit is contained in:
Maschell 2019-04-14 14:49:47 +02:00
parent 7d8bb58cc4
commit 1698acb3f6

View File

@ -280,19 +280,15 @@ public class NUSDecryption extends AESDecryption {
decryptFileStreamHashed(inputStream, outputStream, size, offset, (short) contentIndex, h3); decryptFileStreamHashed(inputStream, outputStream, size, offset, (short) contentIndex, h3);
} else { } else {
try { byte[] h3Hash = content.getSHA2Hash();
byte[] h3Hash = content.getSHA2Hash(); // We want to check if we read the whole file or just a part of it.
// We want to check if we read the whole file or just a part of it. // There should be only one actual file inside a non-hashed content.
// There should be only one actual file inside a non-hashed content. // But it could also contain a directory, so we need to filter.
// But it could also contain a directory, so we need to filter. long fstFileSize = content.getEntries().stream().filter(f -> !f.isDir()).findFirst().map(f -> f.getFileSize()).orElse(0L);
long fstFileSize = content.getEntries().stream().filter(f -> !f.isDir()).findFirst().map(f -> f.getFileSize()).orElse(0L); if (size > 0 && size < fstFileSize) {
if (size > 0 && size < fstFileSize) { h3Hash = null;
h3Hash = null;
}
decryptFileStream(inputStream, outputStream, size, offset, (short) contentIndex, h3Hash, encryptedFileSize);
} catch (Exception e) {
e.printStackTrace();
} }
decryptFileStream(inputStream, outputStream, size, offset, (short) contentIndex, h3Hash, encryptedFileSize);
} }
} else { } else {
StreamUtils.saveInputStreamToOutputStreamWithHash(inputStream, outputStream, size, content.getSHA2Hash(), encryptedFileSize); StreamUtils.saveInputStreamToOutputStreamWithHash(inputStream, outputStream, size, content.getSHA2Hash(), encryptedFileSize);