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

Commit 7392175c authored by Yi Kong's avatar Yi Kong
Browse files

Don't use initializer_list as return type

The underlying array may be cleaned up once its lifetime has ended,
the initializer_list would become ill-formed. Return as std::vector
instead.

This fixes "-Wreturn-stack-address" (clang) / "-Winit-list-lifetime"
(gcc) warning.

Test: mma
Bug: 111998531
Change-Id: Ie5bb6bc3d0d7689744fd573c5683b22e6fb6b178
parent c0263aa0
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -523,8 +523,7 @@ AuthorizationSetBuilder& AuthorizationSetBuilder::BlockMode(
    return *this;
}

AuthorizationSetBuilder& AuthorizationSetBuilder::Digest(
    std::initializer_list<V4_0::Digest> digests) {
AuthorizationSetBuilder& AuthorizationSetBuilder::Digest(std::vector<V4_0::Digest> digests) {
    for (auto digest : digests) {
        push_back(TAG_DIGEST, digest);
    }
+1 −1
Original line number Diff line number Diff line
@@ -278,7 +278,7 @@ class AuthorizationSetBuilder : public AuthorizationSet {
    AuthorizationSetBuilder& GcmModeMacLen(uint32_t macLength);

    AuthorizationSetBuilder& BlockMode(std::initializer_list<BlockMode> blockModes);
    AuthorizationSetBuilder& Digest(std::initializer_list<Digest> digests);
    AuthorizationSetBuilder& Digest(std::vector<Digest> digests);
    AuthorizationSetBuilder& Padding(std::initializer_list<PaddingMode> paddings);

    template <typename... T>
+1 −2
Original line number Diff line number Diff line
@@ -672,8 +672,7 @@ std::vector<EcCurve> KeymasterHidlTest::InvalidCurves() {
    return {EcCurve::P_224, EcCurve::P_384, EcCurve::P_521};
}

std::initializer_list<Digest> KeymasterHidlTest::ValidDigests(bool withNone, bool withMD5) {
    std::vector<Digest> result;
std::vector<Digest> KeymasterHidlTest::ValidDigests(bool withNone, bool withMD5) {
    switch (SecLevel()) {
        case SecurityLevel::TRUSTED_ENVIRONMENT:
            if (withNone) {
+1 −1
Original line number Diff line number Diff line
@@ -214,7 +214,7 @@ class KeymasterHidlTest : public ::testing::VtsHalHidlTargetTestBase {
    std::vector<EcCurve> ValidCurves();
    std::vector<EcCurve> InvalidCurves();

    std::initializer_list<Digest> ValidDigests(bool withNone, bool withMD5);
    std::vector<Digest> ValidDigests(bool withNone, bool withMD5);
    std::vector<Digest> InvalidDigests();

    HidlBuf key_blob_;