Fix crash parsing malformed rtp packet
where header extesnsion size mismatch expected.
Reland of https://codereview.webrtc.org/2067793003/
BUG=chromium:620242
R=åsapersson
Review-Url: https://codereview.webrtc.org/2060943009
Cr-Commit-Position: refs/heads/master@{#13187}
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_packet.cc b/webrtc/modules/rtp_rtcp/source/rtp_packet.cc
index f663486..07aeb71 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_packet.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_packet.cc
@@ -416,10 +416,13 @@
RTC_DCHECK(offset);
for (size_t i = 0; i < num_extensions_; ++i) {
if (extension_entries_[i].type == type) {
- RTC_CHECK_EQ(length, extension_entries_[i].length)
- << "Length mismatch for extension '" << type << "'"
- << "should be " << length << ", received "
- << extension_entries_[i].length;
+ if (length != extension_entries_[i].length) {
+ LOG(LS_WARNING) << "Length mismatch for extension '" << type
+ << "': expected " << static_cast<int>(length)
+ << ", received "
+ << static_cast<int>(extension_entries_[i].length);
+ return false;
+ }
*offset = extension_entries_[i].offset;
return true;
}