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

Commit 3652ba0f authored by Steven Moreland's avatar Steven Moreland
Browse files

binderAllocationLimits: check remote binder null

Possible null de-ref hit one time?

This is not actually expected to fix this bug, but if it reproduces
again, it should give us slightly more information.

Change-Id: Ie3de2b50088179d1c7fcb8d492dfc092a2e45b91
Fixes: 291870594
Test: N/A
parent 1411c396
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -216,16 +216,16 @@ TEST(RpcBinderAllocation, SetupRpcServer) {
    auto server = RpcServer::make();
    server->setRootObject(sp<BBinder>::make());

    CHECK_EQ(OK, server->setupUnixDomainServer(addr.c_str()));
    ASSERT_EQ(OK, server->setupUnixDomainServer(addr.c_str()));

    std::thread([server]() { server->join(); }).detach();

    status_t status;
    auto session = RpcSession::make();
    status = session->setupUnixDomainClient(addr.c_str());
    CHECK_EQ(status, OK) << "Could not connect: " << addr << ": " << statusToString(status).c_str();
    status_t status = session->setupUnixDomainClient(addr.c_str());
    ASSERT_EQ(status, OK) << "Could not connect: " << addr << ": " << statusToString(status).c_str();

    auto remoteBinder = session->getRootObject();
    ASSERT_NE(remoteBinder, nullptr);

    size_t mallocs = 0, totalBytes = 0;
    {
@@ -233,7 +233,7 @@ TEST(RpcBinderAllocation, SetupRpcServer) {
            mallocs++;
            totalBytes += bytes;
        });
        CHECK_EQ(OK, remoteBinder->pingBinder());
        ASSERT_EQ(OK, remoteBinder->pingBinder());
    }
    EXPECT_EQ(mallocs, 1);
    EXPECT_EQ(totalBytes, 40);