summaryrefslogtreecommitdiff
path: root/libs/binder/RpcState.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/binder/RpcState.cpp')
-rw-r--r--libs/binder/RpcState.cpp7
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);