Skip to content
Snippets Groups Projects
Commit 0a336af7 authored by Guillaume Roguez's avatar Guillaume Roguez Committed by Tristan Matthews
Browse files

daemon: fix possible null access during sdp modifications

Refs #62705

Change-Id: I86844674ad6390c4b5c805c7458a563dc0b8d91b
parent 007a30e5
Branches
No related tags found
No related merge requests found
...@@ -856,7 +856,11 @@ void Sdp::addZrtpAttribute(pjmedia_sdp_media* media, std::string hash) ...@@ -856,7 +856,11 @@ void Sdp::addZrtpAttribute(pjmedia_sdp_media* media, std::string hash)
void void
Sdp::addIceCandidates(unsigned media_index, const std::vector<std::string>& cands) Sdp::addIceCandidates(unsigned media_index, const std::vector<std::string>& cands)
{ {
assert(media_index < localSession_->media_count); if (media_index >= localSession_->media_count) {
SFL_ERR("addIceCandidates failed: cannot access media#%u (may be deactivated)", media_index);
return;
}
auto media = localSession_->media[media_index]; auto media = localSession_->media[media_index];
for (const auto &item : cands) { for (const auto &item : cands) {
...@@ -872,8 +876,14 @@ std::vector<std::string> ...@@ -872,8 +876,14 @@ std::vector<std::string>
Sdp::getIceCandidates(unsigned media_index) const Sdp::getIceCandidates(unsigned media_index) const
{ {
auto session = remoteSession_ ? remoteSession_ : activeRemoteSession_; auto session = remoteSession_ ? remoteSession_ : activeRemoteSession_;
assert(session); if (not session) {
assert(media_index < session->media_count); SFL_ERR("getIceCandidates failed: no remote session");
return {};
}
if (media_index >= session->media_count) {
SFL_ERR("getIceCandidates failed: cannot access media#%u (may be deactivated)", media_index);
return {};
}
auto media = session->media[media_index]; auto media = session->media[media_index];
std::vector<std::string> candidates; std::vector<std::string> candidates;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment