From 21cbcfeffb87dd62019f1d901ba68b6f7f750ae4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Tue, 24 Oct 2023 14:45:58 -0400
Subject: [PATCH] ice: do not crash if no upnpContext is passed

Change-Id: I8ef7ed0336a02692fb3ec0959f2f7f8891c52808
---
 src/ice_transport.cpp | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/ice_transport.cpp b/src/ice_transport.cpp
index 302afb1..d88a406 100644
--- a/src/ice_transport.cpp
+++ b/src/ice_transport.cpp
@@ -405,8 +405,13 @@ IceTransport::Impl::initIceInstance(const IceTransportOptions& options)
              compCount_,
              initiatorSession_ ? "master" : "slave");
 
-    if (upnpEnabled_)
-        upnp_ = std::make_shared<upnp::Controller>(options.upnpContext);
+    if (upnpEnabled_) {
+        if (options.upnpContext) {
+            upnp_ = std::make_shared<upnp::Controller>(options.upnpContext);
+        } else if (logger_) {
+            logger_->error("[ice:{}] UPnP enabled, but no context found", fmt::ptr(this));
+        }
+    }
 
     config_ = factory->getIceCfg(); // config copy
     if (isTcp_) {
-- 
GitLab