diff options
Diffstat (limited to 'libs/binder/Parcel.cpp')
| -rw-r--r-- | libs/binder/Parcel.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp index 07d0a65ae0..4b07608a79 100644 --- a/libs/binder/Parcel.cpp +++ b/libs/binder/Parcel.cpp @@ -966,7 +966,15 @@ bool Parcel::enforceInterface(const char16_t* interface, } } +void Parcel::setEnforceNoDataAvail(bool enforceNoDataAvail) { + mEnforceNoDataAvail = enforceNoDataAvail; +} + binder::Status Parcel::enforceNoDataAvail() const { + if (!mEnforceNoDataAvail) { + return binder::Status::ok(); + } + const auto n = dataAvail(); if (n == 0) { return binder::Status::ok(); @@ -3077,6 +3085,7 @@ void Parcel::initState() mAllowFds = true; mDeallocZero = false; mOwner = nullptr; + mEnforceNoDataAvail = true; } void Parcel::scanForFds() const { |