Bug 1532849 - Prevent arithmetic overflow. r=bryce

Differential Revision: https://phabricator.services.mozilla.com/D29461

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Jean-Yves Avenard 2019-05-01 23:13:34 +00:00
Родитель 8926b1a54d
Коммит da336c5aa4
1 изменённых файлов: 2 добавлений и 1 удалений

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

@ -410,7 +410,8 @@ ChannelMediaDecoder::ComputePlaybackRate(const MediaChannelStatistics& aStats,
MOZ_ASSERT(!NS_IsMainThread()); MOZ_ASSERT(!NS_IsMainThread());
int64_t length = aResource->GetLength(); int64_t length = aResource->GetLength();
if (mozilla::IsFinite<double>(aDuration) && aDuration > 0 && length >= 0) { if (mozilla::IsFinite<double>(aDuration) && aDuration > 0 && length >= 0 &&
length / aDuration < UINT32_MAX) {
return {uint32_t(length / aDuration), true}; return {uint32_t(length / aDuration), true};
} }