aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-06-30 16:28:55 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2015-06-30 16:31:02 +0200
commitd26379da3a4379ad260f3e68bf264d7a3530e376 (patch)
treed4b1b091b6911c6f3017c9efd22cb3b67bf85938 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service
parent04d7e3f155e182b0abaebd9a37b43634a20e3ebf (diff)
downloadopen-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/org/sufficientlysecure/keychain/service')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java13
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!");