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/java/org/sufficientlysecure | |
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/java/org/sufficientlysecure')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerify.java | 7 |
1 files changed, 7 insertions, 0 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(); |