libbinder: Return error instead of crashing on closed Trusty connection

If RpcServerTrusty rejects a client connection, it still receives
a few more messages. Since the connection was rejected, the internal
channel has not been initialized. Handle this corner case by returning
an ERR_BAD_STATE error code instead of a fatal crash so that Trusty
services do not crash after rejecting connections.

Bug: 242940548
Test: Presubmit
Change-Id: Ibb1445c26616a8c7e369d1fd7a3fb3602d6f2155
diff --git a/libs/binder/trusty/RpcServerTrusty.cpp b/libs/binder/trusty/RpcServerTrusty.cpp
index 17919c2..0580046 100644
--- a/libs/binder/trusty/RpcServerTrusty.cpp
+++ b/libs/binder/trusty/RpcServerTrusty.cpp
@@ -151,8 +151,10 @@
 
 int RpcServerTrusty::handleMessageInternal(void* ctx) {
     auto* channelContext = reinterpret_cast<ChannelContext*>(ctx);
-    LOG_ALWAYS_FATAL_IF(channelContext == nullptr,
-                        "bad state: message received on uninitialized channel");
+    if (channelContext == nullptr) {
+        LOG_RPC_DETAIL("bad state: message received on uninitialized channel");
+        return ERR_BAD_STATE;
+    }
 
     auto& session = channelContext->session;
     auto& connection = channelContext->connection;