summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorMagnus Strandberg <magnus.strandberg@sonyericsson.com>2011-05-03 15:44:00 +0200
committerJean-Baptiste Queru <jbq@google.com>2012-06-08 08:29:01 -0700
commit1ba24574b2debd3ca012adbbd77f12bed4f2d266 (patch)
tree9141495058ae27f0411797c842787f270f02946a /libs
parentb2c1cfbe95bed419487455d1b82956f9c5b2a40c (diff)
downloadframeworks_native-1ba24574b2debd3ca012adbbd77f12bed4f2d266.zip
frameworks_native-1ba24574b2debd3ca012adbbd77f12bed4f2d266.tar.gz
frameworks_native-1ba24574b2debd3ca012adbbd77f12bed4f2d266.tar.bz2
Aligning native Parcel implementation to Java.
The Java implementation of writing the RPC response header calculates the length of the header including the 4 bytes specifying the header length but the native implementation excludes the 4 bytes specifying the length from the header length. The native implementation has been aligned to the Java impl. Change-Id: I325bf272a63152d8fded4cf4e51a906b5a9bfe19
Diffstat (limited to 'libs')
-rw-r--r--libs/binder/Parcel.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp
index dea14bb..4c15913 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<int32_t>();
if (exception_code == EX_HAS_REPLY_HEADER) {
+ int32_t header_start = dataPosition();
int32_t header_size = readAligned<int32_t>();
// 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;