Fix binary keyfiles.

This commit is contained in:
Brian Pellin
2016-03-15 20:07:24 -05:00
parent c78a3b875b
commit 70bd25d41c

View File

@@ -20,6 +20,7 @@
package com.keepassdroid.database;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
@@ -136,16 +137,16 @@ public abstract class PwDatabase {
throws InvalidKeyFileException, IOException {
assert(keyInputStream != null);
byte[] key = loadXmlKeyFile(keyInputStream);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
Util.copyStream(keyInputStream, bos);
byte[] keyData = bos.toByteArray();
ByteArrayInputStream bis = new ByteArrayInputStream(keyData);
byte[] key = loadXmlKeyFile(bis);
if ( key != null ) {
return key;
}
ByteArrayOutputStream bos = new ByteArrayOutputStream();
Util.copyStream(keyInputStream, bos);
byte[] keyData = bos.toByteArray();
long fileSize = keyData.length;
if ( fileSize == 0 ) {
throw new KeyFileEmptyException();