diff options
author | 2021-08-02 20:08:14 +0000 | |
---|---|---|
committer | 2021-08-02 20:08:14 +0000 | |
commit | a588da3ea77900adff9992ff4a231b965e931fdb (patch) | |
tree | 9df7bf6fd5b82a6393934d7712c2751dd5b4a3af | |
parent | a42cf8d65f8fa426ecda84413d10bd52da8b7782 (diff) | |
parent | 40b736e02e45d743821a51d24ed9580bbbffc71e (diff) |
Merge "libbinder: disallow upgrade of explicit version"
-rw-r--r-- | libs/binder/RpcSession.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/binder/RpcSession.cpp b/libs/binder/RpcSession.cpp index 90ce4d6d3f..254b99c29a 100644 --- a/libs/binder/RpcSession.cpp +++ b/libs/binder/RpcSession.cpp @@ -87,6 +87,12 @@ bool RpcSession::setProtocolVersion(uint32_t version) { } std::lock_guard<std::mutex> _l(mMutex); + if (mProtocolVersion && version > *mProtocolVersion) { + ALOGE("Cannot upgrade explicitly capped protocol version %u to newer version %u", + *mProtocolVersion, version); + return false; + } + mProtocolVersion = version; return true; } |