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

Commit ad92798c authored by Marco Nelissen's avatar Marco Nelissen
Browse files

DO NOT MERGE Check malloc result to avoid NPD

Bug: 28471206
Change-Id: Id5d055d76893d6f53a2e524ff5f282d1ddca3345
parent 71095f17
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -521,6 +521,10 @@ status_t MPEG4Extractor::readMetaData() {
    }
    if (psshsize) {
        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
@@ -1572,6 +1576,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;
@@ -1788,6 +1797,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;