From 7b3dd1fd6594f4366e233e92edd9de83e49c88b9 Mon Sep 17 00:00:00 2001 From: Alexandre Savard <alexandresavard@alexandresavard-desktop.(none)> Date: Thu, 1 Apr 2010 11:29:17 -0400 Subject: [PATCH] [#3105] Test if call ids are valid in join participant manager method --- sflphone-common/src/managerimpl.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sflphone-common/src/managerimpl.cpp b/sflphone-common/src/managerimpl.cpp index bfd0c85739..ba0874297a 100644 --- a/sflphone-common/src/managerimpl.cpp +++ b/sflphone-common/src/managerimpl.cpp @@ -1066,11 +1066,26 @@ void ManagerImpl::joinParticipant (const CallID& call_id1, const CallID& call_id _debug ("Manager: Join participants %s, %s", call_id1.c_str(), call_id2.c_str()); + + std::map<std::string, std::string> call1_details = getCallDetails(call_id1); std::map<std::string, std::string> call2_details = getCallDetails(call_id2); std::map<std::string, std::string>::iterator iter_details; + // Test if we have valid call ids + iter_details = call1_details.find("PEER_NUMBER"); + if(iter_details->second == "Unknown") { + _error("Manager: Error: Id %s is not a valid call", call_id1.c_str()); + return; + } + + iter_details = call2_details.find("PEER_NUMBER"); + if(iter_details->second == "Unknown") { + _error("Manager: Error: Id %s is not a valid call", call_id2.c_str()); + return; + } + AccountID currentAccountId; Call* call = NULL; -- GitLab