Index: talk/media/sctp/sctpdataengine.cc |
diff --git a/talk/media/sctp/sctpdataengine.cc b/talk/media/sctp/sctpdataengine.cc |
index 94f242a5c60ceccbd5bff7d9efcc3f16cc239c53..3753cd22c09bfe50395d656c4a3707a38f80fe3a 100644 |
--- a/talk/media/sctp/sctpdataengine.cc |
+++ b/talk/media/sctp/sctpdataengine.cc |
@@ -729,7 +729,13 @@ bool SctpDataMediaChannel::AddStream(const StreamParams& stream) { |
} |
const uint32_t ssrc = stream.first_ssrc(); |
- if (open_streams_.find(ssrc) != open_streams_.end()) { |
+ if (ssrc >= cricket::kMaxSctpSid) { |
+ LOG(LS_WARNING) << debug_name_ << "->Add(Send|Recv)Stream(...): " |
+ << "Not adding data stream '" << stream.id |
+ << "' with ssrc=" << ssrc |
+ << " because stream ssrc is too high."; |
+ return false; |
+ } else if (open_streams_.find(ssrc) != open_streams_.end()) { |
LOG(LS_WARNING) << debug_name_ << "->Add(Send|Recv)Stream(...): " |
<< "Not adding data stream '" << stream.id |
<< "' with ssrc=" << ssrc |