Fix handling of "allow fds" state.
Didn't take into account nesting of bundles. Boo.
Change-Id: Ic8cf21ad8d6f4938a3e105128624c9d162310d01
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp
index 9552c1c..608877e 100644
--- a/libs/binder/Parcel.cpp
+++ b/libs/binder/Parcel.cpp
@@ -447,13 +447,20 @@
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) {