diff options
| author | 2021-08-02 21:01:27 +0000 | |
|---|---|---|
| committer | 2021-08-02 21:01:27 +0000 | |
| commit | 63b712dca5a7e23a8ba10d596e640d3a08aa63c8 (patch) | |
| tree | 415316098e5d070381c1594bfa2f1ed6c53ce2d4 | |
| parent | 4fea0ff0d223293722c3544637c041d9471dc847 (diff) | |
| parent | 2e1c1d4328b95e25399f443c33e56bd59241495d (diff) | |
Merge "libbinder: disallow upgrade of explicit version" am: a588da3ea7 am: e326a110b6 am: 2e1c1d4328
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1783312
Change-Id: I5142926e96edfb5dbf52f21e60de58f215168bb2
| -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; } |