Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 14a35a7b authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[audio] EX_ILLEGAL_ARG on unknown uid for NPC" into main

parents 77a20f3f 0759167d
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ Status NativePermissionController::populatePackagesForUids(

Status NativePermissionController::updatePackagesForUid(const UidPackageState& newPackageState) {
    std::lock_guard l{m_};
    ALOGI("%s, %s", __func__, newPackageState.toString().c_str());
    package_map_.insert_or_assign(newPackageState.uid, newPackageState.packageNames);
    const auto& cursor = package_map_.find(newPackageState.uid);

@@ -143,8 +144,12 @@ BinderResult<bool> NativePermissionController::validateUidPackagePair(
                "NPC::validatedUidPackagePair: controller never populated by system_server");
    }
    const auto cursor = package_map_.find(uid);
    return (cursor != package_map_.end()) &&
           (std::find(cursor->second.begin(), cursor->second.end(), packageName) !=
    if (cursor == package_map_.end()) {
        return unexpectedExceptionCode(
                Status::EX_ILLEGAL_ARGUMENT,
                "NPC::validatedUidPackagePair: unknown uid");
    }
    return (std::find(cursor->second.begin(), cursor->second.end(), packageName) !=
            cursor->second.end());
}

+2 −1
Original line number Diff line number Diff line
@@ -170,7 +170,8 @@ TEST_F(NativePermissionControllerTest, validateUidPackagePair_UnknownUid) {

    EXPECT_THAT(controller_.populatePackagesForUids(input), BinderStatusMatcher::isOk());

    EXPECT_THAT(controller_.validateUidPackagePair(12000, "any.package"), IsOkAnd(IsFalse()));
    EXPECT_THAT(controller_.validateUidPackagePair(12000, "any.package"),
            IsErrorAnd(BinderStatusMatcher::hasException(EX_ILLEGAL_ARGUMENT)));
}

TEST_F(NativePermissionControllerTest, populatePermissionState_InvalidPermission) {