diff options
author | Vincent Breitmoser <valodim@mugenguild.com> | 2015-07-06 02:02:52 +0200 |
---|---|---|
committer | Vincent Breitmoser <valodim@mugenguild.com> | 2015-07-06 02:02:52 +0200 |
commit | f1a75a81e724566e8f4e9c0e264ca548bca03abb (patch) | |
tree | 87bb62c26c2ffdb39afac0ab779fd6a061d85233 /OpenKeychain/src/main | |
parent | 922d4c6a96007512d63b1b690989ecbb697da973 (diff) | |
download | open-keychain-f1a75a81e724566e8f4e9c0e264ca548bca03abb.tar.gz open-keychain-f1a75a81e724566e8f4e9c0e264ca548bca03abb.tar.bz2 open-keychain-f1a75a81e724566e8f4e9c0e264ca548bca03abb.zip |
catch ArrayIndexOutOfBoundsException in decrypt operation, might be thrown from BouncyCastle
Diffstat (limited to 'OpenKeychain/src/main')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java | 7 | ||||
-rw-r--r-- | OpenKeychain/src/main/res/values/strings.xml | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java index 7ec447cf6..026d7bb03 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java @@ -167,6 +167,13 @@ public class PgpDecryptVerify extends BaseOperation<PgpDecryptVerifyInputParcel> OperationLog log = new OperationLog(); log.add(LogType.MSG_DC_ERROR_PGP_EXCEPTION, 1); return new DecryptVerifyResult(DecryptVerifyResult.RESULT_ERROR, log); + } catch (ArrayIndexOutOfBoundsException e) { + // these can happen if assumptions in JcaPGPObjectFactory.nextObject() aren't + // fulfilled, so we need to catch them here to handle this gracefully + Log.d(Constants.TAG, "array index out of bounds", e); + OperationLog log = new OperationLog(); + log.add(LogType.MSG_DC_ERROR_IO, 1); + return new DecryptVerifyResult(DecryptVerifyResult.RESULT_ERROR, log); } catch (IOException e) { Log.d(Constants.TAG, "IOException", e); OperationLog log = new OperationLog(); diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 8b224c37c..f31cac508 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -1105,7 +1105,7 @@ <string name="msg_dc_error_integrity_check">"Integrity check error!"</string> <string name="msg_dc_error_integrity_missing">"Missing integrity check! This can happen because the encrypting application is out of date, or from a downgrade attack."</string> <string name="msg_dc_error_invalid_data">"No valid OpenPGP encrypted or signed data found!"</string> - <string name="msg_dc_error_io">"Encountered IO Exception during operation!"</string> + <string name="msg_dc_error_io">"Encountered an error reading input data!"</string> <string name="msg_dc_error_input">"Error opening input data stream!"</string> <string name="msg_dc_error_no_data">"No encrypted data found in stream!"</string> <string name="msg_dc_error_no_key">"No encrypted data with known secret key found in stream!"</string> |