diff --git a/src/connectionmanager.cpp b/src/connectionmanager.cpp index 2eb0a1c3fea196a3ba9e0605a3448f23623368dc..f49834e59967c93fb069ff360bc8075c75d22576 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);