Fix WAVE demuxer out of bounds reads

This commit is contained in:
Vanilagy
2026-02-07 10:28:14 +01:00
parent 6a099b4259
commit ab0fd6a8d8
4 changed files with 13 additions and 9 deletions
+5 -1
View File
@@ -425,6 +425,10 @@ class WaveAudioTrackBacking implements InputAudioTrackBacking {
packetIndex: number,
options: PacketRetrievalOptions,
): Promise<EncodedPacket | null> {
if (packetIndex < 0) {
return null;
}
assert(this.demuxer.audioInfo);
const startOffset = packetIndex * PACKET_SIZE_IN_FRAMES * this.demuxer.audioInfo.blockSizeInBytes;
if (startOffset >= this.demuxer.dataSize) {
@@ -465,7 +469,7 @@ class WaveAudioTrackBacking implements InputAudioTrackBacking {
this.demuxer.lastKnownPacketIndex = Math.max(
packetIndex,
timestamp,
this.demuxer.lastKnownPacketIndex,
);
return new EncodedPacket(