diff options
author | Dmitry Dementyev <dementyev@google.com> | 2018-03-29 14:22:52 -0700 |
---|---|---|
committer | Dmitry Dementyev <dementyev@google.com> | 2018-03-29 15:32:36 -0700 |
commit | ec71e7b92d97149abeccf848a0be86036834f58c (patch) | |
tree | 906f918c291621b1794d2eb7359518c8503be375 | |
parent | 4a1da2f371de41a397a019020d402b95b0d9dd7e (diff) | |
download | security-ec71e7b92d97149abeccf848a0be86036834f58c.tar.gz |
Fix status code returned by KeyStoreService::sign function.
The function should return successful status for errorCodes 0 and 1
See KeyStoreServiceReturnCode.
Bug: 77251030
Test: cts-tradefed run cts -m CtsKeystoreTestCases
Change-Id: Ia285945019e0e15c1d7eeffdd299f92871649a70
-rw-r--r-- | keystore/key_store_service.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/keystore/key_store_service.cpp b/keystore/key_store_service.cpp index 3e8783b5..620e9724 100644 --- a/keystore/key_store_service.cpp +++ b/keystore/key_store_service.cpp @@ -550,8 +550,11 @@ Status KeyStoreService::sign(const String16& name, const ::std::vector<uint8_t>& hidl_vec<uint8_t> legacy_out; KeyStoreServiceReturnCode res = doLegacySignVerify(name, data, &legacy_out, hidl_vec<uint8_t>(), KeyPurpose::SIGN); + if (!res.isOk()) { + return Status::fromServiceSpecificError((res)); + } *out = legacy_out; - return Status::fromServiceSpecificError((res)); + return Status::ok(); } Status KeyStoreService::verify(const String16& name, const ::std::vector<uint8_t>& data, |