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

Commit 93b31fde authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 6489494 from 853c6129 to mainline-release

Change-Id: Ieff57cbd9992ee2a142fd445930cc9b61a3a2a9f
parents 06760075 853c6129
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ cc_library_headers {
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
    min_sdk_version: "29",
    native_bridge_supported: true,
    export_include_dirs: ["include"],
    target: {
@@ -59,6 +60,7 @@ cc_library {
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
    min_sdk_version: "29",

    export_include_dirs: ["include"],

@@ -142,6 +144,7 @@ cc_library {
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
    min_sdk_version: "29",
    native_bridge_supported: true,
    srcs: [
        "config_utils.cpp",
+1 −0
Original line number Diff line number Diff line
@@ -26,4 +26,5 @@ cc_library {
    export_include_dirs: ["include"],
    shared_libs: ["android.hardware.graphics.allocator@2.0"],
    header_libs: ["libhardware_headers"],
    min_sdk_version: "29",
}
+2 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ cc_library_headers {
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
    min_sdk_version: "29",
}

cc_library {
@@ -60,4 +61,5 @@ cc_library {
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
    min_sdk_version: "29",
}
+1 −1
Original line number Diff line number Diff line
@@ -195,7 +195,7 @@ bool FileMap::create(const char* origFileName, int fd, off64_t offset, size_t le
    int prot = PROT_READ;
    if (!readOnly) prot |= PROT_WRITE;

    void* ptr = mmap(nullptr, adjLength, prot, flags, fd, adjOffset);
    void* ptr = mmap64(nullptr, adjLength, prot, flags, fd, adjOffset);
    if (ptr == MAP_FAILED) {
        if (errno == EINVAL && length == 0) {
            ptr = nullptr;
+20 −0
Original line number Diff line number Diff line
@@ -32,3 +32,23 @@ TEST(FileMap, zero_length_mapping) {
    ASSERT_EQ(0u, m.getDataLength());
    ASSERT_EQ(4096, m.getDataOffset());
}

TEST(FileMap, large_offset) {
    // Make sure that an offset > INT32_MAX will not fail the create
    // function. See http://b/155662887.
    TemporaryFile tf;
    ASSERT_TRUE(tf.fd != -1);

    off64_t offset = INT32_MAX + 1024LL;

    // Make the temporary file large enough to pass the mmap.
    ASSERT_EQ(offset, lseek64(tf.fd, offset, SEEK_SET));
    char value = 0;
    ASSERT_EQ(1, write(tf.fd, &value, 1));

    android::FileMap m;
    ASSERT_TRUE(m.create("test", tf.fd, offset, 0, true));
    ASSERT_STREQ("test", m.getFileName());
    ASSERT_EQ(0u, m.getDataLength());
    ASSERT_EQ(offset, m.getDataOffset());
}
Loading