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

Commit 8facd1b2 authored by Elliott Hughes's avatar Elliott Hughes Committed by Gerrit Code Review
Browse files

Merge "Add a compatibility symbol for the MemoryBase constructor."

parents ba8abb51 7f974ff2
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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;
+3 −3
Original line number Diff line number Diff line
@@ -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 {
+9 −0
Original line number Diff line number Diff line
@@ -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;