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
diff --git a/keystore/key_store_service.cpp b/keystore/key_store_service.cpp
index 3e8783b..620e972 100644
--- a/keystore/key_store_service.cpp
+++ b/keystore/key_store_service.cpp
@@ -550,8 +550,11 @@
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,