diff --git a/src/dht.cpp b/src/dht.cpp index 1bce7b90c24c4daa76e9eb2400fd337b9aec49a7..2e30b093ae73ba13a76f30f2d3ceb21102f4a7ba 100644 --- a/src/dht.cpp +++ b/src/dht.cpp @@ -404,9 +404,10 @@ struct Dht::SearchNode { if ((ack == acked.cend() or not ack->second) and (gs == getStatus.cend() or not gs->second or not gs->second->pending())) return time_point::min(); - return (ack == acked.cend() or not ack->second or ack->second->pending()) ? - time_point::max() : - ack->second->reply_time + type.expiration - REANNOUNCE_MARGIN; + return ((gs != getStatus.cend() and gs->second and gs->second->pending()) + or ack == acked.cend() or not ack->second or ack->second->pending()) ? + time_point::max() : + ack->second->reply_time + type.expiration - REANNOUNCE_MARGIN; } /**