From 9a4e98bf672b4c0ce89cefe232e3fbee0c39d437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Sun, 15 Oct 2023 12:10:21 -0400 Subject: [PATCH] ConnectionManager: fail if max channel count is reached Change-Id: I71d88e0efbf78009ba003b03d107c0f897dbc485 --- src/connectionmanager.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/connectionmanager.cpp b/src/connectionmanager.cpp index 2eb0a1c..f49834e 100644 --- a/src/connectionmanager.cpp +++ b/src/connectionmanager.cpp @@ -1041,6 +1041,13 @@ ConnectionManager::Impl::sendChannelRequest(const std::weak_ptr<DeviceInfo>& din const dht::Value::Id& vid) { auto channelSock = sock->addChannel(name); + if (!channelSock) { + if (config_->logger) + config_->logger->error("sendChannelRequest failed - cannot create channel"); + if (auto info = dinfo.lock()) + info->executePendingOperations(vid, nullptr); + return; + } channelSock->onShutdown([dinfo, name, vid] { if (auto info = dinfo.lock()) info->executePendingOperations(vid, nullptr); -- GitLab