Loading media/libstagefright/MPEG4Extractor.cpp +18 −0 Original line number Original line Diff line number Diff line Loading @@ -545,6 +545,10 @@ status_t MPEG4Extractor::readMetaData() { } } if (psshsize) { if (psshsize) { char *buf = (char*)malloc(psshsize); char *buf = (char*)malloc(psshsize); if (!buf) { ALOGE("b/28471206"); return NO_MEMORY; } char *ptr = buf; char *ptr = buf; for (size_t i = 0; i < mPssh.size(); i++) { for (size_t i = 0; i < mPssh.size(); i++) { memcpy(ptr, mPssh[i].uuid, 20); // uuid + length memcpy(ptr, mPssh[i].uuid, 20); // uuid + length Loading Loading @@ -1643,6 +1647,11 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) { sp<ABuffer> buffer = new ABuffer(chunk_data_size); sp<ABuffer> buffer = new ABuffer(chunk_data_size); if (buffer->data() == NULL) { ALOGE("b/28471206"); return NO_MEMORY; } if (mDataSource->readAt( if (mDataSource->readAt( data_offset, buffer->data(), chunk_data_size) < chunk_data_size) { data_offset, buffer->data(), chunk_data_size) < chunk_data_size) { return ERROR_IO; return ERROR_IO; Loading @@ -1657,6 +1666,11 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) { { { sp<ABuffer> buffer = new ABuffer(chunk_data_size); sp<ABuffer> buffer = new ABuffer(chunk_data_size); if (buffer->data() == NULL) { ALOGE("b/28471206"); return NO_MEMORY; } if (mDataSource->readAt( if (mDataSource->readAt( data_offset, buffer->data(), chunk_data_size) < chunk_data_size) { data_offset, buffer->data(), chunk_data_size) < chunk_data_size) { return ERROR_IO; return ERROR_IO; Loading Loading @@ -1959,6 +1973,10 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) { return ERROR_MALFORMED; return ERROR_MALFORMED; } } sp<ABuffer> buffer = new ABuffer(chunk_data_size + 1); sp<ABuffer> buffer = new ABuffer(chunk_data_size + 1); if (buffer->data() == NULL) { ALOGE("b/28471206"); return NO_MEMORY; } if (mDataSource->readAt( if (mDataSource->readAt( data_offset, buffer->data(), chunk_data_size) != (ssize_t)chunk_data_size) { data_offset, buffer->data(), chunk_data_size) != (ssize_t)chunk_data_size) { return ERROR_IO; return ERROR_IO; Loading Loading
media/libstagefright/MPEG4Extractor.cpp +18 −0 Original line number Original line Diff line number Diff line Loading @@ -545,6 +545,10 @@ status_t MPEG4Extractor::readMetaData() { } } if (psshsize) { if (psshsize) { char *buf = (char*)malloc(psshsize); char *buf = (char*)malloc(psshsize); if (!buf) { ALOGE("b/28471206"); return NO_MEMORY; } char *ptr = buf; char *ptr = buf; for (size_t i = 0; i < mPssh.size(); i++) { for (size_t i = 0; i < mPssh.size(); i++) { memcpy(ptr, mPssh[i].uuid, 20); // uuid + length memcpy(ptr, mPssh[i].uuid, 20); // uuid + length Loading Loading @@ -1643,6 +1647,11 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) { sp<ABuffer> buffer = new ABuffer(chunk_data_size); sp<ABuffer> buffer = new ABuffer(chunk_data_size); if (buffer->data() == NULL) { ALOGE("b/28471206"); return NO_MEMORY; } if (mDataSource->readAt( if (mDataSource->readAt( data_offset, buffer->data(), chunk_data_size) < chunk_data_size) { data_offset, buffer->data(), chunk_data_size) < chunk_data_size) { return ERROR_IO; return ERROR_IO; Loading @@ -1657,6 +1666,11 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) { { { sp<ABuffer> buffer = new ABuffer(chunk_data_size); sp<ABuffer> buffer = new ABuffer(chunk_data_size); if (buffer->data() == NULL) { ALOGE("b/28471206"); return NO_MEMORY; } if (mDataSource->readAt( if (mDataSource->readAt( data_offset, buffer->data(), chunk_data_size) < chunk_data_size) { data_offset, buffer->data(), chunk_data_size) < chunk_data_size) { return ERROR_IO; return ERROR_IO; Loading Loading @@ -1959,6 +1973,10 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) { return ERROR_MALFORMED; return ERROR_MALFORMED; } } sp<ABuffer> buffer = new ABuffer(chunk_data_size + 1); sp<ABuffer> buffer = new ABuffer(chunk_data_size + 1); if (buffer->data() == NULL) { ALOGE("b/28471206"); return NO_MEMORY; } if (mDataSource->readAt( if (mDataSource->readAt( data_offset, buffer->data(), chunk_data_size) != (ssize_t)chunk_data_size) { data_offset, buffer->data(), chunk_data_size) != (ssize_t)chunk_data_size) { return ERROR_IO; return ERROR_IO; Loading