Bug 1284032 - Fix an assertion in SourceBuffer::Compact() when we have non-zero capacity but zero length. r=edwin

This commit is contained in:
Seth Fowler 2016-07-02 23:18:25 -06:00
Родитель 11de73857c
Коммит b06ccacbf4
1 изменённых файлов: 7 добавлений и 0 удалений

Просмотреть файл

@ -138,6 +138,13 @@ SourceBuffer::Compact()
length += mChunks[i].Length();
}
// If our total length is zero (which means ExpectLength() got called, but no
// data ever actually got written) then just empty our chunk list.
if (MOZ_UNLIKELY(length == 0)) {
mChunks.Clear();
return NS_OK;
}
Maybe<Chunk> newChunk = CreateChunk(length, /* aRoundUp = */ false);
if (MOZ_UNLIKELY(!newChunk || newChunk->AllocationFailed())) {
NS_WARNING("Failed to allocate chunk for SourceBuffer compacting - OOM?");