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

Commit 7746cc31 authored by Dianne Hackborn's avatar Dianne Hackborn
Browse files

Fix handling of "allow fds" state.

Didn't take into account nesting of bundles.  Boo.

Change-Id: Ic8cf21ad8d6f4938a3e105128624c9d162310d01
parent a0ac7713
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -59,7 +59,8 @@ public:
    status_t            appendFrom(const Parcel *parcel,
                                   size_t start, size_t len);

    bool                setAllowFds(bool allowFds);
    bool                pushAllowFds(bool allowFds);
    void                restoreAllowFds(bool lastValue);

    bool                hasFileDescriptors() const;

+9 −2
Original line number Diff line number Diff line
@@ -447,13 +447,20 @@ status_t Parcel::appendFrom(const Parcel *parcel, size_t offset, size_t len)
    return err;
}

bool Parcel::setAllowFds(bool allowFds)
bool Parcel::pushAllowFds(bool allowFds)
{
    const bool origValue = mAllowFds;
    mAllowFds = allowFds;
    if (!allowFds) {
        mAllowFds = false;
    }
    return origValue;
}

void Parcel::restoreAllowFds(bool lastValue)
{
    mAllowFds = lastValue;
}

bool Parcel::hasFileDescriptors() const
{
    if (!mFdsKnown) {