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

Commit 8e8653af authored by Steven Moreland's avatar Steven Moreland
Browse files

Reland "RPC Binder: terminate session for bad dec strong"

This reverts commit ddd61e27.

Reason for revert: restore check after testing fixes.

Bug: 416772676
Test: binderRpcTest (all pass)
Change-Id: I15002bc300518f60fa8c90935637f986dee2e718
parent f68c5f1c
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -1243,11 +1243,15 @@ status_t RpcState::processDecStrong(const sp<RpcSession::RpcConnection>& connect
    // UP THE PROTOCOL

    uint64_t addr = RpcWireAddress::toRaw(body.address);

    RpcMutexUniqueLock _l(mNodeMutex);
    if (mTerminated) return DEAD_OBJECT;

    auto it = mNodeForAddress.find(addr);
    if (it == mNodeForAddress.end()) {
        ALOGE("Unknown binder address %" PRIu64 " for dec strong.", addr);
        return OK;
        ALOGE("Unknown binder address %" PRIu64 " for dec strong. Terminating!", addr);
        (void)session->shutdownAndWait(false);
        return BAD_VALUE;
    }

    sp<IBinder> target = it->second.binder.promote();