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

Commit e96bb745 authored by Tomasz Wasilczyk's avatar Tomasz Wasilczyk Committed by Automerger Merge Worker
Browse files

Merge "Disable Blob outside of Android" into main am: 5bd4fecb

parents dd0e0c71 5bd4fecb
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -358,6 +358,22 @@ cc_library_static {
    ],
}

cc_library_static {
    name: "libbinder_rpc_no_blob",
    vendor_available: true,
    defaults: [
        "libbinder_common_defaults",
        "libbinder_android_defaults",
        "libbinder_kernel_defaults",
    ],
    cflags: [
        "-DBINDER_DISABLE_BLOB",
    ],
    visibility: [
        ":__subpackages__",
    ],
}

cc_library_static {
    name: "libbinder_rpc_single_threaded",
    defaults: [
+17 −0
Original line number Diff line number Diff line
@@ -40,7 +40,9 @@
#include <binder/TextOutput.h>

#include <android-base/scopeguard.h>
#ifndef BINDER_DISABLE_BLOB
#include <cutils/ashmem.h>
#endif
#include <utils/Flattenable.h>
#include <utils/Log.h>
#include <utils/String16.h>
@@ -1548,6 +1550,12 @@ status_t Parcel::writeUniqueFileDescriptor(const base::unique_fd& fd) {

status_t Parcel::writeBlob(size_t len, bool mutableCopy, WritableBlob* outBlob)
{
#ifdef BINDER_DISABLE_BLOB
    (void)len;
    (void)mutableCopy;
    (void)outBlob;
    return INVALID_OPERATION;
#else
    if (len > INT32_MAX) {
        // don't accept size_t values which may have come from an
        // inadvertent conversion from a negative int.
@@ -1599,6 +1607,7 @@ status_t Parcel::writeBlob(size_t len, bool mutableCopy, WritableBlob* outBlob)
    }
    ::close(fd);
    return status;
#endif
}

status_t Parcel::writeDupImmutableBlobFileDescriptor(int fd)
@@ -2382,6 +2391,11 @@ status_t Parcel::readUniqueParcelFileDescriptor(base::unique_fd* val) const

status_t Parcel::readBlob(size_t len, ReadableBlob* outBlob) const
{
#ifdef BINDER_DISABLE_BLOB
    (void)len;
    (void)outBlob;
    return INVALID_OPERATION;
#else
    int32_t blobType;
    status_t status = readInt32(&blobType);
    if (status) return status;
@@ -2415,6 +2429,7 @@ status_t Parcel::readBlob(size_t len, ReadableBlob* outBlob) const

    outBlob->init(fd, ptr, len, isMutable);
    return NO_ERROR;
#endif
}

status_t Parcel::read(FlattenableHelperInterface& val) const
@@ -3158,6 +3173,7 @@ size_t Parcel::getOpenAshmemSize() const
    }

    size_t openAshmemSize = 0;
#ifndef BINDER_DISABLE_BLOB
    for (size_t i = 0; i < kernelFields->mObjectsSize; i++) {
        const flat_binder_object* flat =
                reinterpret_cast<const flat_binder_object*>(mData + kernelFields->mObjects[i]);
@@ -3172,6 +3188,7 @@ size_t Parcel::getOpenAshmemSize() const
            }
        }
    }
#endif
    return openAshmemSize;
}
#endif // BINDER_WITH_KERNEL_IPC