1
0
mirror of https://github.com/PurpleI2P/i2pd.git synced 2025-02-02 06:54:15 +00:00

Make a deep copy of our addresses for UPnP

Somehow "Expression: vector iterators incompatible" gets thrown especially on fresh start
TODO: figure out details
This commit is contained in:
Mikhail Titov 2016-03-09 00:42:58 -06:00
parent abdef67ccc
commit 8791f382b3

View File

@ -19,6 +19,7 @@
#include "UPnP.h" #include "UPnP.h"
#include "NetDb.h" #include "NetDb.h"
#include "util.h" #include "util.h"
#include "RouterInfo.h"
#include <miniupnpc/miniupnpc.h> #include <miniupnpc/miniupnpc.h>
#include <miniupnpc/upnpcommands.h> #include <miniupnpc/upnpcommands.h>
@ -100,7 +101,8 @@ namespace transport
void UPnP::Run () void UPnP::Run ()
{ {
for (auto& address : context.GetRouterInfo ().GetAddresses ()) std::vector<data::RouterInfo::Address> a = context.GetRouterInfo().GetAddresses();
for (auto& address : a)
{ {
if (!address.host.is_v6 ()) if (!address.host.is_v6 ())
{ {