From 88cf05cf73a55d8615dadcefcc7c27bc8f595bc9 Mon Sep 17 00:00:00 2001 From: hta Date: Wed, 14 Dec 2016 12:48:28 -0800 Subject: [PATCH] Guard against uninitialized packetization modes. This change inserts a RTC_CHECK for illegal packetization modes when RTP packetizers are constructed. This should help find places where this field is not initialized. BUG=webrtc:6858 Review-Url: https://codereview.webrtc.org/2575073002 Cr-Commit-Position: refs/heads/master@{#15614} --- webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc b/webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc index e896c65f97..15a1d8b152 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_format_h264.cc @@ -81,7 +81,11 @@ bool ParseStapAStartOffsets(const uint8_t* nalu_ptr, RtpPacketizerH264::RtpPacketizerH264(size_t max_payload_len, H264PacketizationMode packetization_mode) : max_payload_len_(max_payload_len), - packetization_mode_(packetization_mode) {} + packetization_mode_(packetization_mode) { + // Guard against uninitialized memory in packetization_mode. + RTC_CHECK(packetization_mode == H264PacketizationMode::NonInterleaved || + packetization_mode == H264PacketizationMode::SingleNalUnit); +} RtpPacketizerH264::~RtpPacketizerH264() { }