summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanis Danisevskis <jdanis@google.com>2019-10-04 11:01:54 -0700
committerJanis Danisevskis <jdanis@google.com>2019-12-13 10:25:48 -0800
commit0a62361d9ffd460afcaa32d8550f357e9c1e0812 (patch)
tree4ca000fbdfe2ccaaaaae5ee0ed25fdd1b1dbdb69
parent85735d8693cfee84989112263131f0d1cf0d3be4 (diff)
downloadsecurity-0a62361d9ffd460afcaa32d8550f357e9c1e0812.tar.gz
Fix memory leak in keystore
The operation device map needs to be cleand up on finish regardless of whether the operations succeeds of fails. The operation lifecycle ends in any case. Bug: 141317862 Test: Generate key and perform repeated operations. Watch memory consumptoin not raise with using: adb shell dumpsys meminfo keystore Merged-In: I3a25aa67f121832640848a38398c523e20a2c6df Change-Id: I3a25aa67f121832640848a38398c523e20a2c6df
-rw-r--r--keystore/key_store_service.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/keystore/key_store_service.cpp b/keystore/key_store_service.cpp
index 7c42d0b6..2336e570 100644
--- a/keystore/key_store_service.cpp
+++ b/keystore/key_store_service.cpp
@@ -937,9 +937,7 @@ Status KeyStoreService::finish(const ::android::sp<IKeystoreOperationResultCallb
dev->finish(token, params.getParameters(), {}, signature, entropy,
[this, cb, token](OperationResult result_) {
- if (!result_.resultCode.isOk()) {
- mKeyStore->removeOperationDevice(token);
- }
+ mKeyStore->removeOperationDevice(token);
cb->onFinished(result_);
});