diff --git a/Tunnel.cpp b/Tunnel.cpp index 8f1f4712..0789e335 100644 --- a/Tunnel.cpp +++ b/Tunnel.cpp @@ -442,7 +442,7 @@ namespace tunnel if (msg) { uint32_t prevTunnelID = 0, tunnelID = 0; - std::shared_ptr prevTunnel; + std::shared_ptr prevTunnel; do { std::shared_ptr tunnel; @@ -457,8 +457,7 @@ namespace tunnel tunnel = prevTunnel; else if (prevTunnel) prevTunnel->FlushTunnelDataMsgs (); - else - LogPrint(eLogWarning, "Tunnel: no previous tunnel, prevTunnelID=", prevTunnelID, "tunnelID=", tunnelID, "type=", (int)typeID); + if (!tunnel) tunnel = GetTunnel (tunnelID); if (tunnel) @@ -469,7 +468,8 @@ namespace tunnel HandleTunnelGatewayMsg (tunnel, msg); } else - LogPrint (eLogWarning, "Tunnel: tunnel with id ", tunnelID, " not found, type=", (int)typeID); + LogPrint (eLogWarning, "Tunnel: tunnel not found, tunnelID=", tunnelID, " previousTunnelID=", prevTunnelID, " type=", (int)typeID); + break; } case eI2NPVariableTunnelBuild: