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