diff options
| author | 2010-12-28 11:39:21 -0800 | |
|---|---|---|
| committer | 2010-12-28 11:39:21 -0800 | |
| commit | 587567a9b529bb4cf787e1cd892ad1bf780b99df (patch) | |
| tree | bc367a5d181b3d6c09c9acfb932083ae0ab74ad7 | |
| parent | bbdb0c95bce7e093b7638e0e465b5d850843d489 (diff) | |
| parent | fb1a3da50319c8f5c64f31a278a071397b0b6226 (diff) | |
am bfb5f596: Merge "Fix for writing empty strings to Parcel::writeString8()"
* commit 'bfb5f5966b36c4960b56f6de10ba261332208db9':
Fix for writing empty strings to Parcel::writeString8()
| -rw-r--r-- | libs/binder/Parcel.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp index f329ac4642..d57f2c9fdc 100644 --- a/libs/binder/Parcel.cpp +++ b/libs/binder/Parcel.cpp @@ -619,7 +619,10 @@ status_t Parcel::writeCString(const char* str) status_t Parcel::writeString8(const String8& str) { status_t err = writeInt32(str.bytes()); - if (err == NO_ERROR) { + // only write string if its length is more than zero characters, + // as readString8 will only read if the length field is non-zero. + // this is slightly different from how writeString16 works. + if (str.bytes() > 0 && err == NO_ERROR) { err = write(str.string(), str.bytes()+1); } return err; |