MFH: r472217

www/waterfox: apply FF61 fix

Approved by:	ports-secteam blanket
This commit is contained in:
Jan Beich 2018-06-11 23:39:40 +00:00
parent 7d2527516f
commit 28823d2fc6
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2018Q2/; revision=472220
2 changed files with 44 additions and 1 deletions

View File

@ -3,7 +3,7 @@
PORTNAME= waterfox
DISTVERSION= 56.2.0-31
DISTVERSIONSUFFIX= -gf435a827f82ac
PORTREVISION= 5
PORTREVISION= 6
CATEGORIES= www ipv6
MAINTAINER= jbeich@FreeBSD.org

View File

@ -0,0 +1,43 @@
commit e390e1f2e6b3
Author: Nils Ohlmeier [:drno] <drno@ohlmeier.org>
Date: Fri Jun 8 19:49:40 2018 -0700
Bug 1467938 - Fix out-of-bounds memory access in WebRTC VP9 Missing Frame Processing. r=ng, a=RyanVM
--HG--
extra : source : 44ae071a453f285f841d4c3cc13e0b21427ace92
---
.../modules/video_coding/rtp_frame_reference_finder.cc | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git media/webrtc/trunk/webrtc/modules/video_coding/rtp_frame_reference_finder.cc media/webrtc/trunk/webrtc/modules/video_coding/rtp_frame_reference_finder.cc
index 3d5283378fb57..c7b893cdd4565 100644
--- media/webrtc/trunk/webrtc/modules/video_coding/rtp_frame_reference_finder.cc
+++ media/webrtc/trunk/webrtc/modules/video_coding/rtp_frame_reference_finder.cc
@@ -434,8 +434,11 @@ void RtpFrameReferenceFinder::ManageFrameVp9(
LOG(LS_WARNING) << "Received keyframe without scalability structure";
frame->num_references = 0;
- GofInfo info = gof_info_.find(codec_header.tl0_pic_idx)->second;
- FrameReceivedVp9(frame->picture_id, &info);
+ auto gof_info_it = gof_info_.find(codec_header.tl0_pic_idx);
+ if (gof_info_it == gof_info_.end())
+ return;
+
+ FrameReceivedVp9(frame->picture_id, &gof_info_it->second);
CompletedFrameVp9(std::move(frame));
return;
}
@@ -508,6 +511,12 @@ bool RtpFrameReferenceFinder::MissingRequiredFrameVp9(uint16_t picture_id,
size_t gof_idx = diff % info.gof->num_frames_in_gof;
size_t temporal_idx = info.gof->temporal_idx[gof_idx];
+ if (temporal_idx >= kMaxTemporalLayers) {
+ LOG(LS_WARNING) << "At most " << kMaxTemporalLayers << " temporal "
+ << "layers are supported.";
+ return true;
+ }
+
// For every reference this frame has, check if there is a frame missing in
// the interval (|ref_pid|, |picture_id|) in any of the lower temporal
// layers. If so, we are missing a required frame.