From 4cda2d71560302955ea5e9243f61378edb3772ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Thu, 1 Jun 2023 15:44:43 -0400 Subject: [PATCH] connectionmanager: catch exception if initIceInstance throws backport from 6c7042e1338fa62c7f45018e489e7d3781ede79a in jami-daemon Change-Id: I0dd69d7908137e3715d6a9158b5a0c4975b7748a --- src/connectionmanager.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/connectionmanager.cpp b/src/connectionmanager.cpp index 96bd6ba..e4453f0 100644 --- a/src/connectionmanager.cpp +++ b/src/connectionmanager.cpp @@ -756,7 +756,13 @@ 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) { + if (sthis->config_->logger) + sthis->config_->logger->error("{}", e.what()); + dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); }); + } }); }); } @@ -1152,7 +1158,13 @@ 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) { + if (shared->config_->logger) + shared->config_->logger->error("{}", e.what()); + dht::ThreadPool::io().run([eraseInfo = std::move(eraseInfo)] { eraseInfo(); }); + } }); } -- GitLab