Reject RTP one-byte extension ID 0.
Only accept local identifiers in the range 1-14 inclusive.
BUG=1788, chromium:471328
R=asapersson@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/50549004
Cr-Original-Commit-Position: refs/heads/master@{#8900}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: 23914fe756903353eae13fffc868d2c84f51f06f
diff --git a/video/video_receive_stream.cc b/video/video_receive_stream.cc
index 88e5be9..126d485 100644
--- a/video/video_receive_stream.cc
+++ b/video/video_receive_stream.cc
@@ -174,6 +174,9 @@
for (size_t i = 0; i < config_.rtp.extensions.size(); ++i) {
const std::string& extension = config_.rtp.extensions[i].name;
int id = config_.rtp.extensions[i].id;
+ // One-byte-extension local identifiers are in the range 1-14 inclusive.
+ DCHECK_GE(id, 1);
+ DCHECK_LE(id, 14);
if (extension == RtpExtension::kTOffset) {
CHECK_EQ(0,
rtp_rtcp_->SetReceiveTimestampOffsetStatus(channel_, true, id));
diff --git a/video/video_send_stream.cc b/video/video_send_stream.cc
index 4e1e129..9949f50 100644
--- a/video/video_send_stream.cc
+++ b/video/video_send_stream.cc
@@ -131,6 +131,9 @@
for (size_t i = 0; i < config_.rtp.extensions.size(); ++i) {
const std::string& extension = config_.rtp.extensions[i].name;
int id = config_.rtp.extensions[i].id;
+ // One-byte-extension local identifiers are in the range 1-14 inclusive.
+ DCHECK_GE(id, 1);
+ DCHECK_LE(id, 14);
if (extension == RtpExtension::kTOffset) {
CHECK_EQ(0, rtp_rtcp_->SetSendTimestampOffsetStatus(channel_, true, id));
} else if (extension == RtpExtension::kAbsSendTime) {