Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 67903293 authored by Arve Hjønnevåg's avatar Arve Hjønnevåg
Browse files

Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface

DO NOT MERGE into any branch that uses the new interface

Change-Id: Id54308a89327e69a389ac5916c052ad97f57cb28
parent f50b9eaa
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -1318,7 +1318,7 @@ size_t Parcel::ipcObjectsCount() const
void Parcel::ipcSetDataReference(const uint8_t* data, size_t dataSize,
    const size_t* objects, size_t objectsCount, release_func relFunc, void* relCookie)
{
    binder_size_t minOffset = 0;
    size_t minOffset = 0;
    freeDataNoInit();
    mError = NO_ERROR;
    mData = const_cast<uint8_t*>(data);
@@ -1332,10 +1332,10 @@ void Parcel::ipcSetDataReference(const uint8_t* data, size_t dataSize,
    mOwner = relFunc;
    mOwnerCookie = relCookie;
    for (size_t i = 0; i < mObjectsSize; i++) {
        binder_size_t offset = mObjects[i];
        size_t offset = mObjects[i];
        if (offset < minOffset) {
            ALOGE("%s: bad object offset %"PRIu64" < %"PRIu64"\n",
                  __func__, (uint64_t)offset, (uint64_t)minOffset);
            ALOGE("%s: bad object offset %zu < %zu\n",
                  __func__, offset, minOffset);
            mObjectsSize = 0;
            break;
        }