diff options
author | Vincent Breitmoser <valodim@mugenguild.com> | 2015-06-30 16:28:55 +0200 |
---|---|---|
committer | Vincent Breitmoser <valodim@mugenguild.com> | 2015-06-30 16:31:02 +0200 |
commit | d26379da3a4379ad260f3e68bf264d7a3530e376 (patch) | |
tree | d4b1b091b6911c6f3017c9efd22cb3b67bf85938 /OpenKeychain/src/main/java | |
parent | 04d7e3f155e182b0abaebd9a37b43634a20e3ebf (diff) | |
download | open-keychain-d26379da3a4379ad260f3e68bf264d7a3530e376.tar.gz open-keychain-d26379da3a4379ad260f3e68bf264d7a3530e376.tar.bz2 open-keychain-d26379da3a4379ad260f3e68bf264d7a3530e376.zip |
make timeout method in PassphraseCacheService more robust against nullpointers
Diffstat (limited to 'OpenKeychain/src/main/java')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java index a0b470add..7c0b7eaef 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java @@ -459,11 +459,16 @@ public class PassphraseCacheService extends Service { * Called when one specific passphrase for keyId timed out */ private void timeout(long keyId) { + CachedPassphrase cPass = mPassphraseCache.get(keyId); - // clean internal char[] from memory! - cPass.getPassphrase().removeFromMemory(); - // remove passphrase object - mPassphraseCache.remove(keyId); + if (cPass != null) { + if (cPass.getPassphrase() != null) { + // clean internal char[] from memory! + cPass.getPassphrase().removeFromMemory(); + } + // remove passphrase object + mPassphraseCache.remove(keyId); + } Log.d(Constants.TAG, "PassphraseCacheService Timeout of keyId " + keyId + ", removed from memory!"); |