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

Commit 7705c1ef authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "lshal: Fix empty hidl_array access." into main am: a0141af9

parents bc0ee118 a0141af9
Loading
Loading
Loading
Loading
+4 −3
Original line number Original line Diff line number Diff line
@@ -731,16 +731,17 @@ Status ListCommand::fetchBinderizedEntry(const sp<IServiceManager> &manager,
                                  [hashChain](const auto& ret) { *hashChain = std::move(ret); });
                                  [hashChain](const auto& ret) { *hashChain = std::move(ret); });
        if (!hashRet.isOk()) {
        if (!hashRet.isOk()) {
            handleError(TRANSACTION_ERROR, "getHashChain failed: " + hashRet.description());
            handleError(TRANSACTION_ERROR, "getHashChain failed: " + hashRet.description());
            break; // skip getHashChain
        }
        }
        if (static_cast<size_t>(hashIndex) >= hashChain->size()) {
        if (static_cast<size_t>(hashIndex) >= hashChain->size()) {
            handleError(BAD_IMPL,
            handleError(BAD_IMPL,
                        "interfaceChain indicates position " + std::to_string(hashIndex) +
                        "interfaceChain indicates position " + std::to_string(hashIndex) +
                                " but getHashChain returns " + std::to_string(hashChain->size()) +
                                " but getHashChain returns " + std::to_string(hashChain->size()) +
                                " hashes");
                                " hashes");
        } else {
            break; // skip getHashChain
        }
        auto&& hashArray = (*hashChain)[hashIndex];
        auto&& hashArray = (*hashChain)[hashIndex];
        entry->hash = android::base::HexString(hashArray.data(), hashArray.size());
        entry->hash = android::base::HexString(hashArray.data(), hashArray.size());
        }
    } while (0);
    } while (0);
    if (status == OK) {
    if (status == OK) {
        entry->serviceStatus = ServiceStatus::ALIVE;
        entry->serviceStatus = ServiceStatus::ALIVE;