diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-07-03 13:34:55 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-07-03 13:35:02 +0200 |
commit | cd77fae62cfa62092c9e0a344e64cd0c240e9b8c (patch) | |
tree | 046b30eed4681fd427c52d835af41e94980aaaed /chromium/third_party/webrtc/pc/jsep_session_description.cc | |
parent | e5da2cdff48861f03f2ba55f72961ac1d7eb81ac (diff) | |
parent | d94af01c90575348c4e81a418257f254b6f8d225 (diff) | |
download | qtwebengine-chromium-cd77fae62cfa62092c9e0a344e64cd0c240e9b8c.tar.gz |
Merge remote-tracking branch 'origin/upstream-master' into 75-based
Change-Id: I9aae49aaae80bac927614506984912b259df8631
Diffstat (limited to 'chromium/third_party/webrtc/pc/jsep_session_description.cc')
-rw-r--r-- | chromium/third_party/webrtc/pc/jsep_session_description.cc | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/chromium/third_party/webrtc/pc/jsep_session_description.cc b/chromium/third_party/webrtc/pc/jsep_session_description.cc index 90b12a4125b..d9c1fad94d1 100644 --- a/chromium/third_party/webrtc/pc/jsep_session_description.cc +++ b/chromium/third_party/webrtc/pc/jsep_session_description.cc @@ -207,7 +207,7 @@ bool JsepSessionDescription::Initialize( bool JsepSessionDescription::AddCandidate( const IceCandidateInterface* candidate) { - if (!candidate || candidate->sdp_mline_index() < 0) + if (!candidate) return false; size_t mediasection_index = 0; if (!GetMediasectionIndex(candidate, &mediasection_index)) { @@ -291,7 +291,18 @@ bool JsepSessionDescription::GetMediasectionIndex( if (!candidate || !index) { return false; } - *index = static_cast<size_t>(candidate->sdp_mline_index()); + + // If the candidate has no valid mline index or sdp_mid, it is impossible + // to find a match. + if (candidate->sdp_mid().empty() && + (candidate->sdp_mline_index() < 0 || + static_cast<size_t>(candidate->sdp_mline_index()) >= + description_->contents().size())) { + return false; + } + + if (candidate->sdp_mline_index() >= 0) + *index = static_cast<size_t>(candidate->sdp_mline_index()); if (description_ && !candidate->sdp_mid().empty()) { bool found = false; // Try to match the sdp_mid with content name. |