mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 05:49:27 +00:00
identity: Don't pass invalid profileIds in VTS test.
Also add a check in the default implementation to help catch bugs like this in the future. Bug: 189865806 Test: atest VtsHalIdentityTargetTest Test: atest CtsIdentityTestCases Change-Id: Ief55528af8e14707b5c4d9431a851f9c8ccfae0c
This commit is contained in:
@@ -210,6 +210,15 @@ ndk::ScopedAStatus WritableIdentityCredential::beginAddEntry(
|
||||
"numAccessControlProfileRemaining_ is not zero"));
|
||||
}
|
||||
|
||||
// Ensure passed-in profile ids reference valid access control profiles
|
||||
for (const int32_t id : accessControlProfileIds) {
|
||||
if (accessControlProfileIds_.find(id) == accessControlProfileIds_.end()) {
|
||||
return ndk::ScopedAStatus(AStatus_fromServiceSpecificErrorWithMessage(
|
||||
IIdentityCredentialStore::STATUS_INVALID_DATA,
|
||||
"An id in accessControlProfileIds references non-existing ACP"));
|
||||
}
|
||||
}
|
||||
|
||||
if (remainingEntryCounts_.size() == 0) {
|
||||
return ndk::ScopedAStatus(AStatus_fromServiceSpecificErrorWithMessage(
|
||||
IIdentityCredentialStore::STATUS_INVALID_DATA, "No more namespaces to add to"));
|
||||
|
||||
@@ -102,7 +102,7 @@ void DeleteCredentialTests::provisionData() {
|
||||
ASSERT_TRUE(wc->addAccessControlProfile(1, {}, false, 0, 0, &sacp).isOk());
|
||||
|
||||
// Single entry - don't care about the returned encrypted data
|
||||
ASSERT_TRUE(wc->beginAddEntry({0}, "ns", "Some Data", 1).isOk());
|
||||
ASSERT_TRUE(wc->beginAddEntry({1}, "ns", "Some Data", 1).isOk());
|
||||
vector<uint8_t> encryptedData;
|
||||
ASSERT_TRUE(wc->addEntryValue({9}, &encryptedData).isOk());
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ void ProveOwnershipTests::provisionData() {
|
||||
ASSERT_TRUE(wc->addAccessControlProfile(1, {}, false, 0, 0, &sacp).isOk());
|
||||
|
||||
// Single entry - don't care about the returned encrypted data
|
||||
ASSERT_TRUE(wc->beginAddEntry({0}, "ns", "Some Data", 1).isOk());
|
||||
ASSERT_TRUE(wc->beginAddEntry({1}, "ns", "Some Data", 1).isOk());
|
||||
vector<uint8_t> encryptedData;
|
||||
ASSERT_TRUE(wc->addEntryValue({9}, &encryptedData).isOk());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user