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

Commit 894aa94e authored by Chad Brubaker's avatar Chad Brubaker
Browse files

Fix benign overflow in getTimeUsOfGranule

Bug: 24748446
Change-Id: I1f8e3927e9a8f646a0d804161924ae0dcc5ab75d
parent de835045
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -178,6 +178,9 @@ struct MyVorbisExtractor : public MyOggExtractor {

protected:
    virtual int64_t getTimeUsOfGranule(uint64_t granulePos) const {
        if (granulePos > INT64_MAX / 1000000ll) {
            return INT64_MAX;
        }
        return granulePos * 1000000ll / mVi.rate;
    }

@@ -921,6 +924,9 @@ int64_t MyOpusExtractor::getTimeUsOfGranule(uint64_t granulePos) const {
    if (granulePos > mCodecDelay) {
        pcmSamplePosition = granulePos - mCodecDelay;
    }
    if (pcmSamplePosition > INT64_MAX / 1000000ll) {
        return INT64_MAX;
    }
    return pcmSamplePosition * 1000000ll / kOpusSampleRate;
}