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

Commit dea9f578 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: 45b2a5d8

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

Change-Id: I8247d4bf17d7f5ac49ca20f1fb7764af6f64a5ca
parents d66b5159 45b2a5d8
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -25,6 +25,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>
@@ -421,7 +422,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;