From 62a879b69415557a15d464842915030d6936d1bd Mon Sep 17 00:00:00 2001 From: roytam1 Date: Wed, 19 Jan 2022 10:11:44 +0800 Subject: [PATCH] Bug 1746011 - Handle truncated ADTS stream. r=bryce, a=RyanVM --- dom/media/ADTSDemuxer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dom/media/ADTSDemuxer.cpp b/dom/media/ADTSDemuxer.cpp index 89148ce241..cc68a34947 100644 --- a/dom/media/ADTSDemuxer.cpp +++ b/dom/media/ADTSDemuxer.cpp @@ -819,8 +819,9 @@ ADTSTrackDemuxer::Read(uint8_t* aBuffer, int64_t aOffset, int32_t aSize) const int64_t streamLen = StreamLength(); if (mInfo && streamLen > 0) { + int64_t max = streamLen > aOffset ? streamLen - aOffset : 0; // Prevent blocking reads after successful initialization. - aSize = std::min(aSize, streamLen - aOffset); + aSize = std::min(aSize, max); } uint32_t read = 0;