try fixing dht crash

pull/18/head
Jeff Becker 6 years ago
parent 724a093da7
commit 186a36cd4b
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -323,9 +323,8 @@ namespace llarp
/// inform all watches for key of values found /// inform all watches for key of values found
void void
Inform(const TXOwner& from, const K& key, Inform(const TXOwner& from, const K& key, std::vector< V > values,
const std::vector< V >& values, bool sendreply = false, bool sendreply = false, bool removeTimeouts = true)
bool removeTimeouts = true)
{ {
auto range = waiting.equal_range(key); auto range = waiting.equal_range(key);
auto itr = range.first; auto itr = range.first;

@ -74,10 +74,7 @@ namespace llarp
if(relayed) if(relayed)
{ {
auto pathset = ctx->impl.router->paths.GetLocalPathSet(pathID); auto pathset = ctx->impl.router->paths.GetLocalPathSet(pathID);
if(pathset) return pathset && pathset->HandleGotRouterMessage(this);
{
return pathset->HandleGotRouterMessage(this);
}
} }
TXOwner owner(From, txid); TXOwner owner(From, txid);
@ -86,7 +83,9 @@ namespace llarp
if(N.size() == 0) if(N.size() == 0)
dht.pendingExploreLookups.NotFound(owner); dht.pendingExploreLookups.NotFound(owner);
else else
{
dht.pendingExploreLookups.Found(owner, From, N); dht.pendingExploreLookups.Found(owner, From, N);
}
return true; return true;
} }
@ -96,7 +95,7 @@ namespace llarp
return false; return false;
} }
if(R.size() == 1) if(R.size() == 1)
dht.pendingRouterLookups.Found(owner, R[0].pubkey, R); dht.pendingRouterLookups.Found(owner, R[0].pubkey, {R[0]});
else else
dht.pendingRouterLookups.NotFound(owner); dht.pendingRouterLookups.NotFound(owner);
return true; return true;

Loading…
Cancel
Save