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

Commit c21e9655 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Catch nullptr possibilities in MediaExtractor jni code" into udc-dev am: d63a1d16

parents 0cafff00 d63a1d16
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -196,6 +196,15 @@ status_t JMediaExtractor::readSampleData(
        dstSize = (size_t) env->GetDirectBufferCapacity(byteBuf);
    }

    // unlikely, but GetByteArrayElements() can fail
    if (dst == nullptr) {
        ALOGE("no buffer into which to read the data");
        if (byteArray != NULL) {
            env->ReleaseByteArrayElements(byteArray, (jbyte *)dst, 0);
        }
        return -ENOMEM;
    }

    if (dstSize < offset) {
        if (byteArray != NULL) {
            env->ReleaseByteArrayElements(byteArray, (jbyte *)dst, 0);
@@ -204,8 +213,10 @@ status_t JMediaExtractor::readSampleData(
        return -ERANGE;
    }

    // passes in the backing memory to use, so it doesn't fail
    sp<ABuffer> buffer = new ABuffer((char *)dst + offset, dstSize - offset);

    buffer->setRange(0, 0);  // mark it empty
    status_t err = mImpl->readSampleData(buffer);

    if (byteArray != NULL) {