diff options
| -rw-r--r-- | include/binder/MemoryBase.h | 3 | ||||
| -rw-r--r-- | libs/binder/IMemory.cpp | 6 | ||||
| -rw-r--r-- | libs/binder/MemoryBase.cpp | 9 | 
3 files changed, 15 insertions, 3 deletions
diff --git a/include/binder/MemoryBase.h b/include/binder/MemoryBase.h index 463e26d977..fa0b8d17b2 100644 --- a/include/binder/MemoryBase.h +++ b/include/binder/MemoryBase.h @@ -40,6 +40,9 @@ protected:      const sp<IMemoryHeap>& getHeap() const { return mHeap; }  private: +    // Backwards compatibility for libdatabase_sqlcipher (http://b/8253769). +    MemoryBase(const sp<IMemoryHeap>& heap, long offset, unsigned int size); +      size_t          mSize;      ssize_t         mOffset;      sp<IMemoryHeap> mHeap; diff --git a/libs/binder/IMemory.cpp b/libs/binder/IMemory.cpp index cd2451a676..947ac19192 100644 --- a/libs/binder/IMemory.cpp +++ b/libs/binder/IMemory.cpp @@ -298,11 +298,11 @@ void BpMemoryHeap::assertReallyMapped() const          uint32_t flags = reply.readInt32();          uint32_t offset = reply.readInt32(); -        ALOGE_IF(err, "binder=%p transaction failed fd=%d, size=%ld, err=%d (%s)", +        ALOGE_IF(err, "binder=%p transaction failed fd=%d, size=%d, err=%d (%s)",                  asBinder().get(), parcel_fd, size, err, strerror(-err));          int fd = dup( parcel_fd ); -        ALOGE_IF(fd==-1, "cannot dup fd=%d, size=%ld, err=%d (%s)", +        ALOGE_IF(fd==-1, "cannot dup fd=%d, size=%d, err=%d (%s)",                  parcel_fd, size, err, strerror(errno));          int access = PROT_READ; @@ -315,7 +315,7 @@ void BpMemoryHeap::assertReallyMapped() const              mRealHeap = true;              mBase = mmap(0, size, access, MAP_SHARED, fd, offset);              if (mBase == MAP_FAILED) { -                ALOGE("cannot map BpMemoryHeap (binder=%p), size=%ld, fd=%d (%s)", +                ALOGE("cannot map BpMemoryHeap (binder=%p), size=%d, fd=%d (%s)",                          asBinder().get(), size, fd, strerror(errno));                  close(fd);              } else { diff --git a/libs/binder/MemoryBase.cpp b/libs/binder/MemoryBase.cpp index 033066bea3..835124f518 100644 --- a/libs/binder/MemoryBase.cpp +++ b/libs/binder/MemoryBase.cpp @@ -14,6 +14,7 @@   * limitations under the License.   */ +#define LOG_TAG "MemoryBase"  #include <stdlib.h>  #include <stdint.h> @@ -31,6 +32,14 @@ MemoryBase::MemoryBase(const sp<IMemoryHeap>& heap,  {  } +MemoryBase::MemoryBase(const sp<IMemoryHeap>& heap, +        long offset, unsigned int size) +    : mSize(size), mOffset(offset), mHeap(heap) +{ +    ALOGW("Using temporary compatibility workaround for usage of MemoryBase " +          "private API. Please fix your application!"); +} +  sp<IMemoryHeap> MemoryBase::getMemory(ssize_t* offset, size_t* size) const  {      if (offset) *offset = mOffset;  |