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

Commit bf68540a 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

* commit '3633c0f4':
  Check malloc result to avoid NPD

Change-Id: I342b9ad202ab47e020c29d11ebd72a90bf2d69b5
parents a78d7f2d 3633c0f4
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -535,6 +535,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
@@ -1702,6 +1706,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;
@@ -1719,6 +1728,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;
@@ -2051,6 +2065,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;