OSDN Git Service

Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface
authorArve Hjønnevåg <arve@android.com>
Wed, 19 Feb 2014 23:35:52 +0000 (15:35 -0800)
committerArve Hjønnevåg <arve@android.com>
Wed, 19 Feb 2014 23:35:52 +0000 (15:35 -0800)
DO NOT MERGE into any branch that uses the new interface

Change-Id: Id54308a89327e69a389ac5916c052ad97f57cb28

libs/binder/Parcel.cpp

index 882130f..0210606 100644 (file)
@@ -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;
         }