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

Commit dbc61414 authored by Marco Nelissen's avatar Marco Nelissen Committed by android-build-merger
Browse files

Merge "Check malloc result to avoid NPD" into lmp-dev am: e5734d88 am:...

Merge "Check malloc result to avoid NPD" into lmp-dev am: e5734d88 am: f6e3609d am: 6d1da7d5 am: 1d455478 am: 90fe9f14 am: 3633c0f4 am: bf68540a am: 8c6e115c
am: 5f9925cc

* commit '5f9925cc':
  Check malloc result to avoid NPD

Change-Id: Icc2f6c972262d7c65d465a1e567bbcc99796dab4
parents 023f2a52 5f9925cc
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -536,6 +536,10 @@ status_t MPEG4Extractor::readMetaData() {
    }
    if (psshsize > 0 && psshsize <= UINT32_MAX) {
        char *buf = (char*)malloc(psshsize);
        if (!buf) {
            ALOGE("b/28471206");
            return NO_MEMORY;
        }
        char *ptr = buf;
        for (size_t i = 0; i < mPssh.size(); i++) {
            memcpy(ptr, mPssh[i].uuid, 20); // uuid + length
@@ -1769,6 +1773,11 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) {

            sp<ABuffer> buffer = new ABuffer(chunk_data_size);

            if (buffer->data() == NULL) {
                ALOGE("b/28471206");
                return NO_MEMORY;
            }

            if (mDataSource->readAt(
                        data_offset, buffer->data(), chunk_data_size) < chunk_data_size) {
                return ERROR_IO;
@@ -1786,6 +1795,11 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) {
        {
            sp<ABuffer> buffer = new ABuffer(chunk_data_size);

            if (buffer->data() == NULL) {
                ALOGE("b/28471206");
                return NO_MEMORY;
            }

            if (mDataSource->readAt(
                        data_offset, buffer->data(), chunk_data_size) < chunk_data_size) {
                return ERROR_IO;
@@ -2119,6 +2133,10 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) {
                    return ERROR_MALFORMED;
                }
                sp<ABuffer> buffer = new ABuffer(chunk_data_size + 1);
                if (buffer->data() == NULL) {
                    ALOGE("b/28471206");
                    return NO_MEMORY;
                }
                if (mDataSource->readAt(
                    data_offset, buffer->data(), chunk_data_size) != (ssize_t)chunk_data_size) {
                    return ERROR_IO;