From 6c7042e1338fa62c7f45018e489e7d3781ede79a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Thu, 1 Jun 2023 15:12:40 -0400 Subject: [PATCH] connectionmanager: catch exception if initIceInstance throws Change-Id: Id84e465996138a16aa425dde37baa389240f4221 --- src/connectivity/connectionmanager.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/connectivity/connectionmanager.cpp b/src/connectivity/connectionmanager.cpp index f0861277e6..461fe892f9 100644 --- a/src/connectivity/connectionmanager.cpp +++ b/src/connectivity/connectionmanager.cpp @@ -643,7 +643,12 @@ ConnectionManager::Impl::connectDevice(const std::shared_ptr<dht::crypto::Certif info->ice_->setOnShutdown([eraseInfo]() { dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); }); }); - info->ice_->initIceInstance(ice_config); + try { + info->ice_->initIceInstance(ice_config); + } catch (const std::exception& e) { + JAMI_ERROR("{}", e.what()); + dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); }); + } }); }); } @@ -1022,7 +1027,12 @@ ConnectionManager::Impl::onDhtPeerRequest(const PeerConnectionRequest& req, info->ice_->setOnShutdown([eraseInfo]() { dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); }); }); - info->ice_->initIceInstance(ice_config); + try { + info->ice_->initIceInstance(ice_config); + } catch (const std::exception& e) { + JAMI_ERROR("{}", e.what()); + dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); }); + } }); } -- GitLab