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

Commit c4569e13 authored by Ray Essick's avatar Ray Essick Committed by Automerger Merge Worker
Browse files

Safe parsing of HEIF framecount information am: 616bd340 am: f2a31ecf am:...

Safe parsing of HEIF framecount information am: 616bd340 am: f2a31ecf am: 45b2a5d8 am: 5e50a00a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/16790556

Change-Id: I42f52067171650026a0448cf4f99d0a3d7b0141e
parents 91237018 5e50a00a
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#include <binder/IMemory.h>
#include <binder/MemoryDealer.h>
#include <drm/drm_framework_common.h>
#include <log/log.h>
#include <media/mediametadataretriever.h>
#include <media/stagefright/MediaSource.h>
#include <media/stagefright/foundation/ADebug.h>
@@ -422,7 +423,13 @@ bool HeifDecoderImpl::reinit(HeifFrameInfo* frameInfo) {

        initFrameInfo(&mSequenceInfo, videoFrame);

        mSequenceLength = atoi(mRetriever->extractMetadata(METADATA_KEY_VIDEO_FRAME_COUNT));
        const char* frameCount = mRetriever->extractMetadata(METADATA_KEY_VIDEO_FRAME_COUNT);
        if (frameCount == nullptr) {
            android_errorWriteWithInfoLog(0x534e4554, "215002587", -1, NULL, 0);
            ALOGD("No valid sequence information in metadata");
            return false;
        }
        mSequenceLength = atoi(frameCount);

        if (defaultInfo == nullptr) {
            defaultInfo = &mSequenceInfo;