diff --git a/app/src/main/java/com/kunzisoft/keepass/database/file/input/DatabaseInputKDBX.kt b/app/src/main/java/com/kunzisoft/keepass/database/file/input/DatabaseInputKDBX.kt index d8f7f6795..da904d02f 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/file/input/DatabaseInputKDBX.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/file/input/DatabaseInputKDBX.kt @@ -253,10 +253,15 @@ class DatabaseInputKDBX(cacheDirectory: File, if (size < 0) throw IOException("Corrupted file") var data = ByteArray(0) - if (size > 0) { - if (fieldId != DatabaseHeaderKDBX.PwDbInnerHeaderV4Fields.Binary) { - data = dataInputStream.readBytes(size) + try { + if (size > 0) { + if (fieldId != DatabaseHeaderKDBX.PwDbInnerHeaderV4Fields.Binary) { + data = dataInputStream.readBytes(size) + } } + } catch (e: Exception) { + // OOM only if corrupted file + throw IOException("Corrupted file") } var result = true