diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2022-03-03 15:52:43 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2022-03-03 15:52:43 +0000 |
commit | c7d0e95a5488d4f03dd81709e5593549af43ce68 (patch) | |
tree | 49e53d8edb1306152fb2f9fd44706ecf76464f9c | |
parent | 8a4e1aa5612c86362c1dd3c7d446c24d7a768ee2 (diff) | |
parent | 49c275353398928fe568fba90fa54465c5a9ebe6 (diff) | |
download | native-c7d0e95a5488d4f03dd81709e5593549af43ce68.tar.gz |
Merge "libbinder: avoid ACCEPT_FDS on proxies"
-rw-r--r-- | libs/binder/Parcel.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp index f84f639d2c..6a138e340f 100644 --- a/libs/binder/Parcel.cpp +++ b/libs/binder/Parcel.cpp @@ -200,7 +200,6 @@ status_t Parcel::flattenBinder(const sp<IBinder>& binder) { } flat_binder_object obj; - obj.flags = FLAT_BINDER_FLAG_ACCEPTS_FDS; int schedBits = 0; if (!IPCThreadState::self()->backgroundSchedulingDisabled()) { @@ -221,6 +220,7 @@ status_t Parcel::flattenBinder(const sp<IBinder>& binder) { const int32_t handle = proxy ? proxy->getPrivateAccessor().binderHandle() : 0; obj.hdr.type = BINDER_TYPE_HANDLE; obj.binder = 0; /* Don't pass uninitialized stack data to a remote process */ + obj.flags = 0; obj.handle = handle; obj.cookie = 0; } else { @@ -231,6 +231,7 @@ status_t Parcel::flattenBinder(const sp<IBinder>& binder) { // override value, since it is set explicitly schedBits = schedPolicyMask(policy, priority); } + obj.flags = FLAT_BINDER_FLAG_ACCEPTS_FDS; if (local->isRequestingSid()) { obj.flags |= FLAT_BINDER_FLAG_TXN_SECURITY_CTX; } @@ -243,6 +244,7 @@ status_t Parcel::flattenBinder(const sp<IBinder>& binder) { } } else { obj.hdr.type = BINDER_TYPE_BINDER; + obj.flags = 0; obj.binder = 0; obj.cookie = 0; } |