diff options
-rw-r--r-- | libs/binder/include/binder/Parcel.h | 5 | ||||
-rw-r--r-- | libs/binder/ndk/include_ndk/android/binder_parcel.h | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/libs/binder/include/binder/Parcel.h b/libs/binder/include/binder/Parcel.h index e2b2c5128d..39d0c9068f 100644 --- a/libs/binder/include/binder/Parcel.h +++ b/libs/binder/include/binder/Parcel.h @@ -76,6 +76,11 @@ public: size_t dataCapacity() const; status_t setDataSize(size_t size); + + // this must only be used to set a data position that was previously returned from + // dataPosition(). If writes are made, the exact same types of writes must be made (e.g. + // auto i = p.dataPosition(); p.writeInt32(0); p.setDataPosition(i); p.writeInt32(1);). + // Writing over objects, such as file descriptors and binders, is not supported. void setDataPosition(size_t pos) const; status_t setDataCapacity(size_t size); diff --git a/libs/binder/ndk/include_ndk/android/binder_parcel.h b/libs/binder/ndk/include_ndk/android/binder_parcel.h index 84575811f0..f68612c3ba 100644 --- a/libs/binder/ndk/include_ndk/android/binder_parcel.h +++ b/libs/binder/ndk/include_ndk/android/binder_parcel.h @@ -59,6 +59,11 @@ void AParcel_delete(AParcel* parcel) __INTRODUCED_IN(29); /** * Sets the position within the parcel. * + * This must be called with a position that has been previously returned from + * AParcel_getDataPosition. If writes are made after setting the data position, they must + * be made in the exact same sequence used before resetting data position. Writing over + * objects such as binders or file descriptors is not supported. + * * Available since API level 29. * * \param parcel The parcel of which to set the position. |