Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7d0e95a authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "libbinder: avoid ACCEPT_FDS on proxies"

parents 8a4e1aa5 49c27535
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -200,7 +200,6 @@ status_t Parcel::flattenBinder(const sp<IBinder>& binder) {
    }
    }


    flat_binder_object obj;
    flat_binder_object obj;
    obj.flags = FLAT_BINDER_FLAG_ACCEPTS_FDS;


    int schedBits = 0;
    int schedBits = 0;
    if (!IPCThreadState::self()->backgroundSchedulingDisabled()) {
    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;
            const int32_t handle = proxy ? proxy->getPrivateAccessor().binderHandle() : 0;
            obj.hdr.type = BINDER_TYPE_HANDLE;
            obj.hdr.type = BINDER_TYPE_HANDLE;
            obj.binder = 0; /* Don't pass uninitialized stack data to a remote process */
            obj.binder = 0; /* Don't pass uninitialized stack data to a remote process */
            obj.flags = 0;
            obj.handle = handle;
            obj.handle = handle;
            obj.cookie = 0;
            obj.cookie = 0;
        } else {
        } else {
@@ -231,6 +231,7 @@ status_t Parcel::flattenBinder(const sp<IBinder>& binder) {
                // override value, since it is set explicitly
                // override value, since it is set explicitly
                schedBits = schedPolicyMask(policy, priority);
                schedBits = schedPolicyMask(policy, priority);
            }
            }
            obj.flags = FLAT_BINDER_FLAG_ACCEPTS_FDS;
            if (local->isRequestingSid()) {
            if (local->isRequestingSid()) {
                obj.flags |= FLAT_BINDER_FLAG_TXN_SECURITY_CTX;
                obj.flags |= FLAT_BINDER_FLAG_TXN_SECURITY_CTX;
            }
            }
@@ -243,6 +244,7 @@ status_t Parcel::flattenBinder(const sp<IBinder>& binder) {
        }
        }
    } else {
    } else {
        obj.hdr.type = BINDER_TYPE_BINDER;
        obj.hdr.type = BINDER_TYPE_BINDER;
        obj.flags = 0;
        obj.binder = 0;
        obj.binder = 0;
        obj.cookie = 0;
        obj.cookie = 0;
    }
    }