summaryrefslogtreecommitdiff
path: root/chromium/third_party/webrtc/pc/jsep_session_description.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-07-03 13:34:55 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-07-03 13:35:02 +0200
commitcd77fae62cfa62092c9e0a344e64cd0c240e9b8c (patch)
tree046b30eed4681fd427c52d835af41e94980aaaed /chromium/third_party/webrtc/pc/jsep_session_description.cc
parente5da2cdff48861f03f2ba55f72961ac1d7eb81ac (diff)
parentd94af01c90575348c4e81a418257f254b6f8d225 (diff)
downloadqtwebengine-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.cc15
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.