am d5a354c6
: am d06f6b00
: am 67903293
: Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface
* commit 'd5a354c6b7f2ae0b93e018f3024a2fca5f6543a1': Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface
This commit is contained in:
commit
9b5c3b9132
@ -1340,7 +1340,7 @@ size_t Parcel::ipcObjectsCount() const
|
|||||||
void Parcel::ipcSetDataReference(const uint8_t* data, size_t dataSize,
|
void Parcel::ipcSetDataReference(const uint8_t* data, size_t dataSize,
|
||||||
const binder_size_t* objects, size_t objectsCount, release_func relFunc, void* relCookie)
|
const binder_size_t* objects, size_t objectsCount, release_func relFunc, void* relCookie)
|
||||||
{
|
{
|
||||||
binder_size_t minOffset = 0;
|
size_t minOffset = 0;
|
||||||
freeDataNoInit();
|
freeDataNoInit();
|
||||||
mError = NO_ERROR;
|
mError = NO_ERROR;
|
||||||
mData = const_cast<uint8_t*>(data);
|
mData = const_cast<uint8_t*>(data);
|
||||||
@ -1354,10 +1354,10 @@ void Parcel::ipcSetDataReference(const uint8_t* data, size_t dataSize,
|
|||||||
mOwner = relFunc;
|
mOwner = relFunc;
|
||||||
mOwnerCookie = relCookie;
|
mOwnerCookie = relCookie;
|
||||||
for (size_t i = 0; i < mObjectsSize; i++) {
|
for (size_t i = 0; i < mObjectsSize; i++) {
|
||||||
binder_size_t offset = mObjects[i];
|
size_t offset = mObjects[i];
|
||||||
if (offset < minOffset) {
|
if (offset < minOffset) {
|
||||||
ALOGE("%s: bad object offset %"PRIu64" < %"PRIu64"\n",
|
ALOGE("%s: bad object offset %zu < %zu\n",
|
||||||
__func__, (uint64_t)offset, (uint64_t)minOffset);
|
__func__, offset, minOffset);
|
||||||
mObjectsSize = 0;
|
mObjectsSize = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user