diff options
author | 2018-06-08 15:11:57 -0700 | |
---|---|---|
committer | 2018-06-08 15:11:57 -0700 | |
commit | f11e2bd016d886a333345dea853ebda23a408d5c (patch) | |
tree | 905bd4d25d6ab2b046620ff459777d8dcfa5d7de /libs/binder/Status.cpp | |
parent | aabd6b7fa343654cd85b3b2da392e424d037d15a (diff) | |
parent | 5c947cdf72270fd1f766b2248d526ebc8c7227f6 (diff) |
Merge pi-dev-plus-aosp-without-vendor into stage-aosp-master
Bug: 79597307
Change-Id: I6d6bee71b9424eb478780bbfc06b830eb8ded342
Diffstat (limited to 'libs/binder/Status.cpp')
-rw-r--r-- | libs/binder/Status.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/binder/Status.cpp b/libs/binder/Status.cpp index 006f7f94e9..a9d5055549 100644 --- a/libs/binder/Status.cpp +++ b/libs/binder/Status.cpp @@ -102,6 +102,15 @@ status_t Status::readFromParcel(const Parcel& parcel) { } mMessage = String8(message); + // Skip over the remote stack trace data + int32_t remote_stack_trace_header_size; + status = parcel.readInt32(&remote_stack_trace_header_size); + if (status != OK) { + setFromStatusT(status); + return status; + } + parcel.setDataPosition(parcel.dataPosition() + remote_stack_trace_header_size); + if (mException == EX_SERVICE_SPECIFIC) { status = parcel.readInt32(&mErrorCode); } else if (mException == EX_PARCELABLE) { @@ -137,6 +146,7 @@ status_t Status::writeToParcel(Parcel* parcel) const { return status; } status = parcel->writeString16(String16(mMessage)); + status = parcel->writeInt32(0); // Empty remote stack trace header if (mException == EX_SERVICE_SPECIFIC) { status = parcel->writeInt32(mErrorCode); } else if (mException == EX_PARCELABLE) { |