diff options
-rw-r--r-- | libs/binder/RpcServer.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/binder/RpcServer.cpp b/libs/binder/RpcServer.cpp index ee90710078..096d5cc5ad 100644 --- a/libs/binder/RpcServer.cpp +++ b/libs/binder/RpcServer.cpp @@ -421,7 +421,9 @@ void RpcServer::establishConnection(sp<RpcServer>&& server, base::unique_fd clie session->setMaxIncomingThreads(server->mMaxThreads); if (!session->setProtocolVersion(protocolVersion)) return; - if (server->mSupportedFileDescriptorTransportModes.test( + if (header.fileDescriptorTransportMode < + server->mSupportedFileDescriptorTransportModes.size() && + server->mSupportedFileDescriptorTransportModes.test( header.fileDescriptorTransportMode)) { session->setFileDescriptorTransportMode( static_cast<RpcSession::FileDescriptorTransportMode>( |