Fix crash parsing malformed rtp packet

where header extesnsion size mismatch expected.

BUG=chromium:620242
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13170}
This commit is contained in:
Danil Chapovalov
2016-06-16 18:52:37 +02:00
parent 4867ca2689
commit 5a45fe6fd7
2 changed files with 39 additions and 5 deletions

View File

@ -416,10 +416,13 @@ bool Packet::FindExtension(ExtensionType type,
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;
}