diff options
Diffstat (limited to 'libs/binder/RpcState.cpp')
-rw-r--r-- | libs/binder/RpcState.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libs/binder/RpcState.cpp b/libs/binder/RpcState.cpp index c594d51bf0..feef2d7bd2 100644 --- a/libs/binder/RpcState.cpp +++ b/libs/binder/RpcState.cpp @@ -827,7 +827,12 @@ status_t RpcState::processCommand( switch (command.command) { case RPC_COMMAND_TRANSACT: - if (type != CommandType::ANY) return BAD_TYPE; + if (type != CommandType::ANY) { + ALOGE("CommandType %d, but got RPC command %d.", static_cast<int>(type), + command.command); + (void)session->shutdownAndWait(false); + return BAD_TYPE; + } return processTransact(connection, session, command, std::move(ancillaryFds)); case RPC_COMMAND_DEC_STRONG: return processDecStrong(connection, session, command); |