From 2964cbc1c6e58523fe573392ffe1f5077fd293a6 Mon Sep 17 00:00:00 2001 From: Arvid Norberg Date: Sat, 28 Mar 2020 22:43:10 +0100 Subject: [PATCH] fix upnp assert --- src/upnp.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/upnp.cpp b/src/upnp.cpp index 8d8f39560..0799e05b4 100644 --- a/src/upnp.cpp +++ b/src/upnp.cpp @@ -316,6 +316,7 @@ port_mapping_t upnp::add_mapping(portmap_protocol const p, int const external_po { rootdevice& d = const_cast(dev); TORRENT_ASSERT(d.magic == 1337); + if (d.disabled) continue; if (d.mapping.end_index() <= mapping_index) d.mapping.resize(static_cast(mapping_index) + 1); @@ -355,6 +356,7 @@ void upnp::delete_mapping(port_mapping_t const mapping) { rootdevice& d = const_cast(dev); TORRENT_ASSERT(d.magic == 1337); + if (d.disabled) continue; TORRENT_ASSERT(mapping < d.mapping.end_index()); d.mapping[mapping].act = portmap_action::del; @@ -771,6 +773,7 @@ void upnp::create_port_mapping(http_connection& c, rootdevice& d void upnp::next(rootdevice& d, port_mapping_t const i) { TORRENT_ASSERT(is_single_thread()); + TORRENT_ASSERT(!d.disabled); if (i < prev(m_mappings.end_index())) { update_map(d, lt::next(i)); @@ -1636,7 +1639,7 @@ void upnp::close() { rootdevice& d = const_cast(dev); TORRENT_ASSERT(d.magic == 1337); - if (d.control_url.empty()) continue; + if (d.disabled || d.control_url.empty()) continue; for (auto& m : d.mapping) { if (m.protocol == portmap_protocol::none) continue;