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