summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Steven Moreland <smoreland@google.com> 2021-08-02 20:46:31 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2021-08-02 20:46:31 +0000
commit2e1c1d4328b95e25399f443c33e56bd59241495d (patch)
tree967b4ff597e00e1610a547caf5ba079fef84cac5
parentc53ef484d16dcd78551bb33c7ed53122098baa4b (diff)
parente326a110b68b5793fd5283e55cc02807abfa9626 (diff)
Merge "libbinder: disallow upgrade of explicit version" am: a588da3ea7 am: e326a110b6
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1783312 Change-Id: I02aa24479a1b06dc434d8b7aabf9f78761068dc2
-rw-r--r--libs/binder/RpcSession.cpp6
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;
}