From 8d578836dc4f9fb41532b8b3dd7a6b168d6f4f9d Mon Sep 17 00:00:00 2001 From: Rich Cannings Date: Thu, 9 Sep 2010 15:12:40 -0700 Subject: Remove the use of FileInputStream.available() Bug: 2976294 Change-Id: I34b13cedbf1d2338163ef74454817c318a3a24f5 --- keystore/java/android/security/SystemKeyStore.java | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'keystore') diff --git a/keystore/java/android/security/SystemKeyStore.java b/keystore/java/android/security/SystemKeyStore.java index abdb0ae..1093219 100644 --- a/keystore/java/android/security/SystemKeyStore.java +++ b/keystore/java/android/security/SystemKeyStore.java @@ -20,6 +20,8 @@ import android.os.Environment; import android.os.FileUtils; import android.os.Process; +import org.apache.harmony.luni.util.InputStreamHelper; + import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; @@ -108,26 +110,19 @@ public class SystemKeyStore { return keyFile; } - public String retrieveKeyHexString(String keyName) { + public String retrieveKeyHexString(String keyName) throws IOException { return toHexString(retrieveKey(keyName)); } - public byte[] retrieveKey(String keyName) { - + public byte[] retrieveKey(String keyName) throws IOException { File keyFile = getKeyFile(keyName); + if (!keyFile.exists()) { return null; } - try { - FileInputStream fis = new FileInputStream(keyFile); - int keyLen = fis.available(); - byte[] retKey = new byte[keyLen]; - fis.read(retKey); - fis.close(); - return retKey; - } catch (IOException ioe) { } - throw new IllegalArgumentException(); + FileInputStream fis = new FileInputStream(keyFile); + return InputStreamHelper.readFullyAndClose(fis); } public void deleteKey(String keyName) { -- cgit v1.1