Clear old decoders after recreating the receiver.

Prevents UAF when switching decoder capabilities and the
previously-supported decoder is currently being received on.

BUG=chromium:565967
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1490233010 .

Cr-Commit-Position: refs/heads/master@{#10898}
This commit is contained in:
Peter Boström 2015-12-04 16:34:11 +01:00
parent 97f7e13c23
commit 9e1b992f74

View File

@ -2376,10 +2376,10 @@ void WebRtcVideoChannel2::WebRtcVideoReceiveStream::SetRecvCodecs(
config_.rtp.nack.rtp_history_ms =
HasNack(recv_codecs.begin()->codec) ? kNackHistoryMs : 0;
ClearDecoders(&old_decoders);
LOG(LS_INFO) << "RecreateWebRtcStream (recv) because of SetRecvCodecs: "
<< CodecSettingsVectorToString(recv_codecs);
RecreateWebRtcStream();
ClearDecoders(&old_decoders);
}
void WebRtcVideoChannel2::WebRtcVideoReceiveStream::SetLocalSsrc(