diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp index dea14bb97..4c15913a7 100644 --- a/libs/binder/Parcel.cpp +++ b/libs/binder/Parcel.cpp @@ -1055,10 +1055,11 @@ int32_t Parcel::readExceptionCode() const { int32_t exception_code = readAligned(); if (exception_code == EX_HAS_REPLY_HEADER) { + int32_t header_start = dataPosition(); int32_t header_size = readAligned(); // Skip over fat responses headers. Not used (or propagated) in // native code - setDataPosition(dataPosition() + header_size); + setDataPosition(header_start + header_size); // And fat response headers are currently only used when there are no // exceptions, so return no error: return 0;